ssh公開鍵認証を用いたログインに失敗したので、そのときの原因と対処法をまとめました。
概要
下記のメッセージを出力してログインに失敗しました。
これは、OS Xでssh接続しようしたときの出力です。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for ‘.pem’ are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key “.pem”: bad permissions Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
一部、セキュリティのためメッセージを書き換えています。
ログインできない原因は、メッセージを見るとわかります。原因として、公開鍵認証に用いるプライベートキーのファイルのパーミッションが、解放されすぎているためにログインできませんでした。
このようになっている理由として、パーミッションが解放されすぎていると、だれもが利用出来るために、セキュリティとして、まずいためです。
解決方法
パーミッションを変更することが解決方法です。
私の場合は、chmodコマンドを使って、プライベートキーのファイルのパーミッションを、下記のようにコマンドを実行して変更しました。
$ chmod 600 ファイル名
これで、ログインできるようになりました。
まとめ
出力されるメッセージは、かなり重要なことを書いていることが多いので、見るようにしましょう。
そして、セキュリティに関しても、ある程度は考えるようにしたほうがよさそうです。