ssh接続に失敗した時の対処法 「REMOTE HOST IDENTIFICATION HAS CHANGED」
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 ■■■■■ key sent by the remote host is
SHA256: ■■■■■
Please contact your system administrator.
私の場合は、awsのインスタンスにアタッチしていた静的IPを別インスタンスにアタッチし直し、ssh接続しようとした際にこのような表示がでました。
これは、中間者攻撃の被害を防ぐために警告してくれているようです。
解決法
known_hostsから該当の公開鍵を削除します。
そもそもknown_hostsとは、過去に接続したことのあるホストの公開鍵を保存しているファイルであり、ここに古い情報が入っていることが問題のようです。
削除するには、以下のコマンドを実行します。
(192.186.xxx.xxxの部分は接続先に置き換えてください。)
ssh-keygen -R 192.168.xxx.xxx