ElasticIPを付け替えるとWARNINGが出てSSH接続できない
AWS EC2で、インスタンスAに設定していたElasticIPをインスタンスBに付け替えました。
その後インスタンスBにSSH接続しようとすると、以下のようなメッセージが発生し接続失敗しました。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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
XXXXXXXXXX.
Please contact your system administrator.
Add correct host key in /Users/xxx/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/xxx/.ssh/known_hosts:10
ECDSA host key for X.XXX.XX.XX has changed and you have requested strict checking.
Host key verification failed.
これは何か?
※今回付け替えたIPをIP:hogeとします。
初めてインスタンスAにIP:hogeでSSH接続した際、インスタンスAの署名情報がIP:hogeと紐付いてローカルに記録されます。
次回接続時には、接続先のサーバの署名情報をローカルに記録している署名情報と照合し、変なサーバに接続していないことを確認しています。
今回IP:hogeをインスタンスBに付け替えました。
それにより、インスタンスBの署名情報と、IP:hogeと紐付いたインスタンスAの署名情報が異なるため、なにかおかしいですよと警告してくれています。
対応
$ ssh-keygen -R [IP]
と打てばローカルのIPと紐付いた署名情報を削除してくれます。
直接設定ファイルを編集するやり方もあります。
$ vi ~/.ssh/known_hosts
付け替えたIPを探し、その行を削除して保存。
ディスカッション
コメント一覧
まだ、コメントがありません