【エラー、トラブル】ラズベリーパイでSSH接続しようとすると「WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!」と表示され、接続できない

スポンサーリンク

こんなエラーメッセージが出て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