【ユーザ・アカウントをサーバー側で作成】
・1. ユーザの追加
$ useradd [ ユーザ名]
$ passwd [ ユーザ名]
* /home/[ ユーザ名]で、ユーザのディレクトリも作成される。
[root@ home]# ls -xl
total 0
drwx------. 3 centos_user centos_user 90 Dec 13 20:18 centos_user
drwx------ 3 centos_user_p centos_user_p 90 Dec 19 12:56 centos_user_p
drwx------ 3 centos_user_m centos_user_m 90 Dec 19 13:30 centos_user_m
drwx------ 2 centos_user_centos_p centos_user_centos_p 59 Dec 19 12:12 centos_user_centos_p
(ユーザの確認)
cat /etc/passwd|sed -e 's/:.*//g' ← サービスもユーザとして表示されてしまう。
慣れないと見ずらいですね。
(自分くらいだと上のディレクトリで見た方が早いかも)
(ユーザの削除)
userdel -r [ ユーザ名]
* -r は、ディレクトリも削除するオプション
centos_user_centos_pは、間違えて作成したので削除する。
・2.パスワードでのアクセスを許可する
ローカル側(PCやスマホ)で鍵のペアを生成しますが、公開鍵(サーバー側が持つ鍵)を
暗号化された通信でサーバーに渡したいので、一時的にパスワード認証でアクセスできる
ようにします。
httpd ファイルの修正:
[root@ ~]# cd /etc/ssh
(心配な人はコピーを作っておいて:#cp -piv sshd_config sshd_config.`date "+%Y%m%d"`)
[root@ ~]#vi sshd_config
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes <- この行のコメント・アウトを修正します。
#PermitEmptyPasswords no
PasswordAuthentication yes
♯でコメント・アウトされているところをコピーして、#を消して yes に変更します。
変更したらサービス再起動で設定変更反映。
systemctl restart sshd.service
これで、全ユーザに対して、パスワード認証によるSSH接続が可能になりました。
・3.sudo権限を付与する
sudoersファイルを変更:
etc/sudores のファイルを、visudo というエディット・コマンドを使って修正します。
(visudoは、管理者権限でのみ操作できます。)
sudoersは、大切なファイルなので、rootユーザでさえ vim などでの直接編集は出来ない
とのこと。
visudoの良いところは、保存の前に構文チェックをしてくれて、エラーがあると保存するかの
確認を聞いてくることらしいです。 (確かに、何度か聞かれました。)
やり方は、2つあるみたい。
【方法1】
予めsudoコマンドを利用できるグループ(CentOSの場合、wheelグループ、Debianの場合は、
sudoグループ)に追加して、グループに付与された権限を実行できるようにする。
#cat /etc/sudoers
(初期設定)
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
となっていますので、このwheelに新規ユーザを追加します。
$ usermod -aG wheel centos_user
確認は、centos_userでログインして、自分の所属グループを確認
$groups
centos_user wheel
と表示されます。
sudoコマンドを実行する時には、毎回、パスワードの入力が求められるので、
これがいやなら
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
のコメント・アウトを消します。
【方法2】
visudoでetc/sudoersを開いて、権限を付与する新規ユーザを個別に、以下の箇所に
追加していきます。
(初期設定)
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
(追加設定)
centos_user ALL=(ALL) NOPASSWD: ALL
centos_user _p ALL=(ALL) NOPASSWD: ALL
centos_user _m ALL=(ALL) NOPASSWD: ALL
*NOPASSWD:ALLで、パスワード入力を停止しています。
記述を追加したら、:wq で、終了します。
=====PC用の追加ユーザで鍵認証でSSHアクセス=====
・4.公開鍵・秘密鍵をローカルで作成する(WinSCP)
(1)公開鍵・秘密鍵の作成
下の「ツール」タブから、PuTTygenを実行します。
次にポップアップしてくる画面の下の方で、
Type of key generate :RSA
Number of bits in a generated key : 2048
になっている事を確認し、
「generate」ボタンをクリックします。
真ん中の赤枠がパスフレーズ(パスワード)入力欄ですから、ここに任意のPWを入力し、
右下の 'Save Private Key(秘密鍵保存)'を押します。
ファイル名は任意ですが、private_keyとしてtext保存します。(これは秘密鍵ですから、大切に保管してください。)
次に、同様に 'save Public Key'で保存します。
(上部の青で覆った部分が、公開鍵情報になりますので、ここをコピー・ペーストしても構いません。)
ファイル名は同じく任意ですが、ここではpublic_key.pub としておきます。(拡張子注意)
これでPuTTY key generator を終了します。
(2) サーバー側の設定
PC用に使いたいユーザを使って、PW認証でサーバーにSSHでアクセスします。
ここでは、centos_user _p を使います。
アクセス先のhome/centos_user _p ディレクトリー(useradd 実行時に自動で作成されている)で
以下のコマンドの実行
[root@ centos_user_p] $ mkdir .ssh
[root@ centos_user_p] $ chmod 700 .ssh
[root@ centos_user_p] $ touch .ssh/authorized_keys
[root@ centos_user_p] $ chmod 600 .ssh/authorized_keys
# ユーザ・ホーム・ディレクトリの確認
[centos_user_p@~]$ ls -l
total 4
-rw-rw-r-- 1 centos_user_p centos_user_p 477 Dec 19 21:52 public_key
# public_keyを.ssh ディレクトリ内に移動
[centos_user_p@ ~]$ mv public_key .ssh
[centos_user_p@ ~]$ ls -l
total 0
[centos_user_p@ ~]$ ls .ssh/ -l
total 4
-rw------- 1 centos_user_p centos_user_p 0 Dec 20 01:26 authorized_keys
-rw-rw-r-- 1 centos_user_p centos_user_p 477 Dec 19 21:52 public_key
♯public_keyの内容をauthorized_keysに追加コピー
[centos_user_p@ ~]$ cat .ssh/public_key >> .ssh/authorized_keys
♯authorized_keysに追加コピーされた内容の確認。
[centos_user_p@ ~]$ cat .ssh/authorized_keys
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20181219"
AAAAB3NzaC1yc2EAAAABJQAAAQEAr4dTQh
記載省略
+b9UQt68/v64YvGCvKrG860Y4dMJFc
==
---- END SSH2 PUBLIC KEY ----
これで、PC側とサーバー側に鍵が揃いました。
centos_user_pで、鍵認証でログインできることを確認します。
・5.公開鍵をサーバーに保管する
【モバイル・ユーザの作成】
・1. パソコン用のユーザを追加する
・2.パスワードでのアクセスを許可する
・3.sudo権限を付与する
・4.公開鍵・秘密鍵をローカルで作成する(WinSCP)
・5.公開鍵をサーバーに保管する
【Root Accountでのアクセスを禁止する】
etc/ssh/httpd_config no modify
0 件のコメント:
コメントを投稿