No.453
【Linux】秘密鍵使用時のSSH接続で失敗するときの確認事項
パーミッションは設定したか? sshd.config の記述は? ケアレスミスで時間を無駄したと怒られる心の準備はOK?
新しい環境を作ったりすると高確率で遭遇するSSH接続の失敗。
人間、慣れてくると失敗にすらなれてくるもので、いつも同じ間違えを繰り返す。
他人へのチェックリスト説明がてら、自戒しつつ自分的確認事項をメモしておく。
そのまえにひとこと
/var/log/secure
は見ましたか?
たいていそこに原因が記録されてますよ?(自戒
①ディレクトリとファイルのパーミッション
遭遇確率No.1がこれ。
とにかくファイルとディレクトリのパーミッションを確認すること。
特にパスワードを聞かれる場合はこのパターンが多いと思う。
ディレクトリ・ファイル | パーミッション |
---|---|
~ | 0755 |
~/.ssh/ | 0700 |
~/.ssh/id_rsa | 0600 |
~/.ssh/id_rsa.pub | 0600 |
②SSHアクセス許可
そもそもアクセスしようとしているユーザーがSSHアクセスが許可されているのか。
デフォルトでは存在していない設定だが、一度設定済みの環境だとこれが原因のことも多い。
パスワード無しの鍵ファイルなのにパスワードを聞かれる場合はこれが多い気がする。たぶん。
/etc/ssh/sshd_config
にて AllowUsers
にユーザーが追加されていることを確認。
AllowUsers hoge fuga ...
③鍵認証の許可
そもそも鍵認証を許可しているのか。
最近はデフォルトでONなので問題ないと思うけど、年季の入った環境だと変えられていたりするので確認。
完全拒否の場合はこれかも。
/etc/ssh/sshd_config
にて PubkeyAuthentication
が有効になっていることを確認。
PubkeyAuthentication yes