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 ファイル名

これで、ログインできるようになりました。

まとめ

出力されるメッセージは、かなり重要なことを書いていることが多いので、見るようにしましょう。

そして、セキュリティに関しても、ある程度は考えるようにしたほうがよさそうです。