🔒

UNPROTECTED PRIVATE KEY FILE! エラー解消メモ

に公開

これなに

EC2インスタンスにアクセスしようとした時に、UNPROTECTED PRIVATE KEY FILE! と出て、どうしようかな…と思った時のお話。
超初心者すぎるのですが、戒めのためにメモ。

なにが起きた?

キーペアも作成してインスタンスもできた。
さあ ssh してみようと思ったら ssh に失敗した。
(ホスト名とか Public IP アドレスとかは config に書いてあるのですがここでは割愛)

su3@macbook ~ % ssh Test-EC2
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/su3/.ssh/test-ec2.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 "/Users/su3/.ssh/test-ec2.pem": bad permissions
ec2-user@xxx.xxx.xxx.xxx: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
su3@macbook ~ % 

なるほど、ファイルにアクセスできないんですね。

解決方法

ファイル所有者に読み取りと書き込みの権限を与えればOKですね

chmod 600 ~/.ssh/test-ec2.pem

そうして無事に ssh 成功

su3@macbook ~ % ssh Test-EC2
   ,     #_
   ~\_  ####_        Amazon Linux 2023
  ~~  \_#####\
  ~~     \###|
  ~~       \#/ ___   https://aws.amazon.com/linux/amazon-linux-2023
   ~~       V~' '->
    ~~~         /
      ~~._.   _/
         _/ _/
       _/m/'
Last login: Wed Nov 13 13:10:54 2024 from 999.999.999.999
[ec2-user@ip-999-999-999-999 ~]$ 

備考

ついでに他にも使いそうなコマンドをザッとメモ

所有者に読み取り権限を付与する

chmod u+r ファイルパス

所有者に実行権限を付与する

chmod u+x ファイルパス

該当のフォルダ配下に対して書き込み権限を付与する

chmod -R 755 ディレクトリパス

該当のフォルダ配下に対して書き込み権限を削除する

chmod -R a-w ディレクトリパス

該当のフォルダ配下に対して実行権限を削除する

chmod -R a-x ディレクトリパス
GitHubで編集を提案

Discussion