サーバーに鍵認証にてSSHアクセスする方法です。
設定を、たまに忘れてしまうのでメモしておきます。
クライアント側
鍵作成
1 2 |
$ cd ~/.ssh $ ssh-keygen -t rsa |
サーバー側
.sshフォルダがない場合は作成して、パーミションを700にする。
1 2 |
$ mkdir .ssh $ chmod 700 .ssh |
authorized_keysファイルがない場合は作成して、パーミションを600にする。
1 2 |
$ touch .ssh/authorized_keys $ chmod 600 .ssh/authorized_keys |
sshd設定ファイルを編集。
パスワード認証をNoにする。
1 2 |
$ sudo vi /etc/ssh/sshd_config PasswordAuthentication no |
設定反映。
1 |
$ sudo service sshd restart |
クライアントで作成した公開鍵を追記する。
下記は追記例です。
1 2 |
$ vi .ssh/authorized_keys ssh-rsa AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSTTTTUUUUVVVVXXXXYYYYZZZZAAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSTTTTUUUUVVVVXXXXYYYYZZZZ example@localhost |
エラー対応
Disconnected: No supported authentication methods available (server sent: publickey,gssapi-with-mic)
サーバー側の.ssh/authorized_keys に設定している公開鍵に過ちがある可能性大。確認。