LoginSignup
1
0

More than 1 year has passed since last update.

AWS、EC2でインスタンスを作り直した際のEC2への接続エラーについて

Last updated at Posted at 2021-05-05

こんにちは、今日は

ポートフォリオをAWSにデプロイする際に起きたEC2への接続エラー

について書き残します。

以前、デプロイしていた別のアプリのインスタンスを削除し、再度インスタンスを生成、下記を入力してEC2に接続しようとした際に以下のようなエラーが出ました。

ssh -i ###.pem ec2-user@hostname

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:######
Please contact your system administrator.
Add correct host key in /Users/###/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/###/.ssh/known_hosts:1
ECDSA host key for hostname has changed and you have requested strict checking.
Host key verification failed.

原因は同一ホストに対し、認証鍵が違っていたためでした。
(今回はelastic IPは従来のまま、インスタンスのみ生成しなおした)

初めて接続した際に"known_hosts"ファイル内に認証鍵が書き加えられていたようです。
これを下記を入力し取り除きます。

ssh-keygen -R hostname (hostnameはこの場合、AWSのパブリックIPです。)

これにより"known_hosts"ファイルがアップデートされ、過去のファイルとして"known_hosts.old"という名前で保管されます。

この後、再度

ssh -i ###.pem ec2-user@hostname

を入力すると、無事EC2に接続することができました。

 以上です!

余談ですが

当初hostnameが何を指しているのかわからなかったため、known_hostsファイルの内容を確認しようとしていました。
ファイルの内容は下記で確認することができます。

ssh-keygen -l -f known_hosts

以下、内容
256 SHA256:############################# hostname (ECDSA)

SHA256というのは、NSA(米国家安全保障局)が考案した「任意の長さのデータから固定長の出力データを返す暗号化技術」のようです。
下記サイトから勉強させていただきました。
https://gaiax-blockchain.com/sha-256#SHA-256-3

また、今回のエラー解決については
https://sayjoyblog.com/aws-ec2-identification-warning/
を参考にさせていただきました。
ありがとうございました!

1
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
1
0