なぜか公開鍵でSSHログイン出来ないときの原因
鍵のペアはちゃんと作った、設置場所もパーミッションも合っている。
/etc/ssh/sshd_config の設定も確認済みだ。
なのにログインできない!
エラーログ
/var/log/secure
を見てみると…
広告
Jan 9 21:18:20 ns sshd[7941]: Received signal 15; terminating.
Jan 9 21:18:20 ns sshd[8634]: Server listening on 0.0.0.0 port 22.
Jan 9 21:18:31 ns sshd[8656]: Authentication refused: bad ownership or modes for directory /home/dacelo
んん?
ポートは開かれて接続した後に「所有権限かモードが間違っている」としてはねられていますね。
よくよく見なおしてみると、鍵ファイルのパーミッション、鍵ファイルを設置するディレクトリのパーミッションはあっていますが、ユーザーディレクトリのパーミッションが777なんてことになってました。
ここを701か755に直せばOKです。
公開鍵ファイルauthorized_keysの設置場所とパーミッション
調べてみたら、かつて自分で詳しく説明した記事を書いていました。偉いぞ、昔の私。
公開鍵ファイルauthorized_keysの設置場所とパーミッション | Weblogy
ファイル | 場所 | パーミッション |
---|---|---|
ユーザールート | /user | 701 |
SSHディレクトリ | /user/.ssh/ | 700 |
公開鍵 | /user/.ssh/authorized_keys | 600 |
その他の理由
その他公開鍵でSSHにログインできない理由としては、
- sshd_configで公開鍵認証を有効にしていない
- SE Linuxが邪魔をしている
等があるようです。私はまだ遭遇したことがないケースですので、詳細はおググりくださいませ。
なんかハマってしまったのでメモ。 "なぜか公開鍵でSSHログイン出来ないときの原因 | Weblogy