公開鍵でSSH接続できないときに見るところ

はじめに

公開鍵認証設定でよくハマるポイントとその解決策をメモします。

クライアント側の.sshディレクトリ、秘密鍵の権限設定を見直す

# クライアント側
chmod 700 ~/.ssh
chmod 600 ~/.ssh/rsa_xxx

サーバ側のsshd_configを見直す

たまに公開鍵認証が許可されていなかったりするので、以下の項目を見直します。

# サーバー側
vi /etc/ssh/sshd_config

PubkeyAuthentication yes

sshd_configの設定はきちんとしましょう。

サーバー側のホームディレクトリの権限を見直す

サーバー側のユーザーのホームディレクトリの権限が777になっていると接続できなくなります。
気を付けましょう。
また、authorized_keysの権限も注意です。

# サーバー側
chmod 755 ~
chmod 600 ~/.ssh/authorized_keys

777でも大丈夫なようにするには、sshd_configのstrictmodesの設定を変更すれば良いようです。
(セキュリティ上のリスクを鑑みて設定しましょう)

# サーバー側
vi /etc/ssh/sshd_config

まとめ

SSH接続はじめ、環境構築系の作業は頻繁にやるものではないためいつも忘れますね…

参考