Anker PowerCor
旅行には必須の大容量モバイルバッテリー!
[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット
防水暴風で耐久性抜群なので旅行で大活躍です!
レッドブル エナジードリンク 250ml×24本
翼を授けよう!
ドラゴンクエスト メタリックモンスターズギャラリー メタルキング
みんな大好き経験値の塊をデスクに常備しておこう!
Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK
メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!
MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド
Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!
サンディスク microSD 128GB
スマホからSwitchまで使える大容量MicroSDカード!
スポンサーリンク
初心者は必ずハマるであろう壁
EC2インスタンス作成時のキーペア
AWSでEC2インスタンスを新たに作成する際に、使用するキーペアを求められます。
キーペアを指定しなくても作成することは可能ですが、セキュリティ上危ないので必ず既存のキーペアを使うか新たに作成するようにしましょう。
pemキーでのSSH時のエラー
このキーペアファイルですが、ブラウザからダウンロードしてそのまま使用すると以下のようなエラーが表示される事があります。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
ssh -i ~/.ssh/sample.pem ec2-user@xx.xx.xx.xx The authenticity of host 'xx.xx.xx.xx (xx.xx.xx.xx)' can't be established. ECDSA key fingerprint is SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'xx.xx.xx.xx' (ECDSA) to the list of known hosts. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for '/Users/blogenist/.ssh/sample.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/blogenist/.ssh/sample.pem": bad permissions Permission denied (publickey). |
おそらく、初めてEC2インスタンスにSSH接続しようとすると、ほとんどの方がこのエラーに巡り合っているのではないでしょうか。笑
原因
まずは、エラー内容を解析してみましょう。
1 |
WARNING: UNPROTECTED PRIVATE KEY FILE! |
これは保護されていない秘密鍵ファイルだよ!という警告文ですね。
具体的な理由は以下です。
1 |
Permissions 0644 for '/Users/blogenist/.ssh/sample.pem' are too open. |
/Users/blogenist/.ssh/sample.pemのパーミッションが0644なので緩すぎだよ!という意味となります。
0644とはファイルモードのことを指しており、このファイルの所有者以外にも見えてしまう設定となってしまっているのが警告の原因と思われます。
確かに、対象のファイルが644を表すrw-r–r–状態になってしまっていますね。
1 2 3 4 5 |
ls -la ~/.ssh total xxx drwxr-xr-x 21 blogenist staff 714 5 22 14:54 . drwxr-xr-x+ 108 blogenist staff 3672 5 23 14:48 .. -rw-r--r--@ 1 blogenist staff 1692 5 22 14:53 sample.pem |
では、原因が分かったところで対応してみましょう。
手順
ファイルモードを600に変更
結論を言うと、ファイルモードを所有者以外は読み取りを出来ないように変更すれば良いです。
以下のコマンドを実行してみましょう。
1 |
chmod 600 ~/.ssh/{対象の秘密鍵キーペア}.pem |
たったこれだけです。
確認
では確認をしてみましょう。
まずはファイルモードが変わっているか確認します。
1 2 3 4 5 |
ls -la ~/.ssh total xxx drwxr-xr-x 21 blogenist staff 714 5 22 14:54 . drwxr-xr-x+ 108 blogenist staff 3672 5 23 14:48 .. -rw-------@ 1 blogenist staff 1692 5 22 14:53 sample.pem |
正常に変わっていますね。
では、実際にSSH接続を試みてみましょう。
1 2 3 4 5 6 7 8 9 10 |
ssh -i ~/.ssh/sample.pem ec2-user@xx.xx.xx.xx __| __|_ ) _| ( / Amazon Linux AMI ___|\___|___| https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/ 6 package(s) needed for security, out of 7 available Run "sudo yum update" to apply all updates. [ec2-user@ip-yy-yy-yy-yy ~]$ |
無事にエラーが出ずにEC2インスタンスへのSSH接続が出来ましたね♪
終わりに
以上のように、頻繁に起こりやすいエラーですが、エラーの原因さえ分かれば簡単に対応する事が可能となっています。
お困りの方は是非この記事を参考にして対応を行ってみてください。