SSH接続でWRANINGと表示され、接続できなくなりました

質問

昨日までSSH接続できていたラズパイが突然繋がらなくなり、『WARNING:REMOTE HOST IDENTIFICATTION HAS CHANGED!』の警告が表示されます。
VScodeのRemoteFSでは接続でき、ディレクトリも見れているのですがどのような状況でしょうか。

回答

SSH接続は初回接続時に接続先ホストの公開鍵を保存しておき、次回接続時にホスト鍵を比較して前回と同じホストに接続したかを確認するような仕組みになっています。これは中間者攻撃対策の仕様で、IPアドレスの振り直しやOS再インストール等でホスト鍵が変わってしまった場合、保存してある公開鍵と一致せず警告エラーメッセージが表示されます。

このエラーが起きた場合、keygenコマンドでknown_hostsファイルからホスト鍵の情報を削除し、再度SSH接続を行ってください。

以前の接続先の削除:
ssh-keygen.exe -R [自身のラズパイのIPアドレス]

SSH接続:
ssh pi@[自身のラズパイのIPアドレス]

OSのインストールを繰り返しているなどの理由で、特定ホストのホスト鍵が毎回変わるような状況の場合、$HOME/.ssh/configの設定でホスト鍵のチェックを無効化することができます。
こちらの設定をする場合、全ホストに対して設定を行うと中間者攻撃に対して脆弱になります。必要なときだけ、特定ホストのみ設定しましょう。

Host 192.168.1.1
   StrictHostKeyChecking no
   UserKnownHostsFile /dev/null