SSHの鍵認証でログインできるようにしよう
鍵登録を行った後は、サーバー側の設定で鍵認証でログインできるように設定を行います。
※ 必ず authorized_key の設定が完了しているかどうか確認してください。設定が完了していない状態でroot 権限でのログインを無効にしてしまうと、サーバー側のコンソールから操作を行わなくてはなりませんのでご注意ください。
config の設定を行います。
PuTTYで rootログインしてから、sshd_config を設定します。
■ vi /etc/ssh/sshd_config
画面に表示されるテキストの中から、対象となる個所を変更していきます。
(キーボードの i を押して -- INSERT -- を可能にしてから変更しましょう。)
・#PermitEmptyPasswords no ⇒ PermitEmptyPasswords no
(パスワード無しを禁止)・#RSAAuthentication yes ⇒ RSAAuthentication yes
【2023年追記】この表記は必要なくなりました。(参考:https://qiita.com/mogya/items/7f4a765a22e7e881dae5)
・#PubkeyAuthentication yes ⇒ PubkeyAuthentication yes
・#UsePAM no ⇒ UsePAM no
(認証を許可します)
・#AuthorizedKeysFile .ssh/authorized_keys
⇒ AuthorizedKeysFile .ssh/authorized_keys
( authorized_keysのディレクトリを指定)
ここまで行ったら、一度 :wq で保存してください。
反映するために sshd を再起動します。
■ /etc/init.d/sshd restart
※ CentOS7 の場合は、systemctl restart sshd.service
別ウィンドウでPutty を起動し、再度ログインできたら、もう一度configの設定を行い、下記一文を変更してください。
■ vi /etc/ssh/sshd_config
・#PasswordAuthentication yes ⇒ PasswordAuthentication no
・#RhostsRSAAuthentication no ⇒ RhostsRSAAuthentication no
(Rhost の接続と、パスワード認証を拒否します)
※ なぜ、2回に分けてcofig の設定を行ったかというと、cofig 設定を間違えた場合、Rhost と パスワード認証の拒否を行うと ログインすることができなくなってしまう為です。
完了したら、 :wq で保存して終了しましょう。
反映するために sshd を再起動します。
■ /etc/init.d/sshd restart
※ CentOS7 の場合は、systemctl restart sshd.service
作成したアカウントでログインを行いますが、場合によっては Disconect される場合はディレクトリのパーミッションを変更する必要があります。