0
0

EC2にSSH接続をする際、出力されたエラー

Last updated at Posted at 2023-10-15

AWS-EC2にSSH接続しようと、コマンドを実行。

ssh -i ~/.ssh/EC2_01.pem ec2-user@{EC2-01のIP}

すると、以下2つのエラーが出力。

WARNING: UNPROTECTED PRIVATE KEY FILE! 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

1つ目のエラーは、「プライベートキーが保護されていない」と教えてくれてる模様。

2つ目のエラーは、「権限がないよ〜」と言われている。

2つ目のエラーは、SSHを理解していないと解けなかったので、もし同じエラーでつまづいてる人が居たら参考にしてみてください。

試したこと

今回試したこととしては、以下になります。

  • 権限変更
  • 秘密鍵から公開鍵を発行
  • AWS側のサーバーに公開鍵を配置

権限変更

こちらは、権限を読み込みのみに変更すればいいので以下のコマンドを実行。

chmod 400 EC2_01.pem

このコマンドを実行した後、WARNING: UNPROTECTED PRIVATE KEY FILE! は表示されなくなった。

秘密鍵から公開鍵を発行

僕は最初、EC2から秘密鍵をダウンロードしてきたら、それを.ssh配下に配置して、コマンドを実行すれば、サーバー側の操作をリモート環境で行えるものと思ってました。

色々調べていくと、どうやら秘密鍵から公開鍵の作成が必要ということで、(よく考えたら当たり前ではある)以下コマンドを実行。

# DLしてきた、.pemファイルを指定
# -y OpenSSH形式の秘密鍵ファイルを読み出し、OpenSSH形式の公開鍵を標準出力する
# -f ファイルを指定
ssh-keygen -y -f EC2_01.pem
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0rQiX6i5TzCGfKQ/e1Hn2Wd+lC+G4JYzY/yYZ8JIfn3Erym247NeDk7Qk4tppHC/GFlk1mt2SvG9A/5CFn7ngXzKsYpFeqzeoOtlnknqRn7xsD3xzFO0bgOs8xcMzzejXc2WLzgXlHHx9TZARGevx8GzW9ErTCZR9pPqqiy18fsLOcCM+xqCfTmSLggIVKfz0pq5wr5jLNurjtf0aiWnwJtH3EN6qwrW7Bvu17M4t63xgzLUs+JcoSFXIMlbM/xNZcg7D3urHvQ6nkVh5qohbDEISCWxi5JkVIVeF1vE11ZYDy6dki4EE7Geym+zh7Bso/v41YhKnc6zFbX4Gbcxx

こんな感じで、キーが作成されるので、一旦これをコピー。

AWS側のサーバーに公開鍵を配置

先ほど、コピーした公開鍵をAWS側のサーバーに配置したいので、AWS側の操作を行う。

インスタンスの概要>インスタンスの接続にEC2 Instance Connectがあるので、そこをクリックすると以下のような画面が表示される。

スクリーンショット 2023-10-15 10.58.41.png

右下の接続をクリックすると、AWS側のターミナル画面が開く。

以下コマンドで、.sshファイルがあるか確認。

ls -la

デフォルトで、authorized_keysのファイルがあると思うでのこの中に、先ほどコピーした公開鍵をペースト。

こちらもファイルの権限の変更が必要な場合は、先ほどと同じように変更する。

chmod 400 authorized_keys

自分のパソコンのターミナルに戻り、以下を実行すると…

ssh -i ~/.ssh/EC2_01.pem ec2-user@{EC2-01のIP}

スクリーンショット 2023-10-14 22.52.40.png

接続に成功!!!

まとめ

今回はsshをいまいち理解していなかったために、起きたエラーでした。なんとなく理解してるものは、エラーのもとになるというのがよくわかる事例でした。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0