🙋
EC2インスタンスにSSH接続する
書籍「Amazon web service 基礎からのネットワーク&サーバー構築」3章の2でEC2インスタンスにSSH接続しようとした際の備忘録です。
ターミナルから次の接続コマンドを入力。
$ ssh -i 〇〇.pem ec2-user@パブリックIP
(-i:ログインに使用する秘密鍵ファイルを指定する。)
うまく接続ができない。
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
原因はキーペアファイルのパスが誤っていました。
Documents下にファイルを置いていたので下記にコマンドを修正。
$ ssh -i Documents/〇〇.pem ec2-user@パブリックIP
解決したかと思いましたが下記の別のエラーが発生。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'Documents/〇〇.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 "Documents/〇〇.pem": bad permissions
ec2-user@IPアドレス: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
キーペアファイルのパーミッションが他のユーザーも閲覧できる状態になっていることが原因でした。
そこで下記のchmodコマンドを実行したところ無事に解決しました。
$ chmod 400 Documents/〇〇.pem
(400の4は読み込み属性しかついていないことを示す)
Discussion