はじめに
前提となる全体像を先にざっくりと説明しますと、
目的は「pemファイルを使ってSSHでAWSのEC2に接続する」
です。
※「pemファイル」は鍵や証明書を格納するファイルで、AWSのEC2インスタンス作成時にダウンロードします。
秘密鍵ファイルは他にも種類があるので「私の場合はpemファイルだった」というだけです!
ターミナルでサーバーにSSH接続しようとすると権限エラー
$ ssh prod
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0664 for '/Users/user/.ssh/xxx.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/user/.ssh/xxx.pem": bad permissions
ec2-user@11.11.11.11: Permission denied (publickey).
権限の問題っぽいですね・・・。
(ssh接続のコマンドが短いぞ!と思った方は👇を参考に)
秘密鍵ファイルの権限を変更する
結論から言うと、該当ファイルを置いてあるディレクトリで以下のコマンドを実行すればOKです。
$ chmod 600 XXX.pem
これが一体何をやっているか?
まずchmod
は「change mode」の略でファイル or ディレクトリに対する権限を設定するLinuxコマンドです。
「600」の意味については👇を参考に!
ついでに、「なぜLinuxコマンドなの?」については👇を参考に!