こんなエラーメッセージが出てSSH接続ができなかったりします。OSはUbuntu、ユーザ名はpiです。
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 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 XX:XX:XX:XX:XX:XX:XX:XX:XX:XX Please contact your system administrator. Add correct host key in /home/pi/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /home/pi/.ssh/known_hosts:13 remove with: ssh-keygen -f "/home/pi/.ssh/known_hosts" -R raspberrypi.local ECDSA host key for 192.168.1.216 has changed and you have requested strict checking. Host key verification failed.
対応
リモートホストの識別子が変わっている!と言っています。
上の例だと「リモートホストraspberrypi.localは名前は一緒だけど識別子が違う!別のマシンがraspberrypi.localに成りかわっているかもしれないから気をつけろ!」と。
このエラーは「ラズベリーパイで別のマイクロSDカードにインストールしたOS(raspbian)を起動」し、SSHで接続しようとしても出てきます。
たとえば「実験用に別のマイクロSDカードにraspbianをインストールし、ラズベリーパイ本体で起動した場合」でも表示されます。
この場合はなりかわりではないので、下のコマンドを実行して識別子を一旦削除するとOKです
ssh-keygen -f "/home/pi/.ssh/known_hosts" -R raspberrypi.local