AWSのインスタンスにLinuxからSSH接続しようとすると次のようなの警告が表示されることがあります。

@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for ‘test-key.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).
これはエラーメッセージのとおり、秘密鍵(pemfile)に設定しているパーミションが原因です。以下のように、パーミッションが644(rw-r–r–)になっており、他のユーザーから読み取りが可能な状態になっています。

次のようにsshを実効しようとしているユーザのみが読み取りできる権限に変更することで、秘密鍵を用いて、SSH接続できるようになります。他のユーザーが読み取れないようにすればよいので、400もしくは600すればOKです。
$ chmod 400 キーファイル

以上。
コメント