前置き
Macでssh接続をする際に
REMOTE HOST IDENTIFICATION HAS CHANGED!
というエラーが出ることがある。
これは以前の認証キーが残っていることが原因であるようだ。
■ssh接続試行時のエラー
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
(省略)
ECDSA host key for x.x.x.x has changed and you have requested strict checking.
Host key verification failed.
■[注意!]良くない解決策
vim /Users/[ユーザー名]/.ssh/known_hosts
この中の接続しようとしているIPアドレスの部分を消去
(消去できればなんでも良いですが、ddを押して1行一気に削除が楽です)
■良い解決策
該当のknown_hostsを削除するという方針自体は正しいようですが、直接消すのは(エラー自体は消えますが)良くないようです。
対処法としては、エラー時に警告が出るのと同時に上記のknown_hostsの情報を削除するためのコマンドも案内されるそうで、そちらのコマンドを使う方が良いようです。
(この具体的なコマンドは現在状況を再現できなく、再度出てきた時に更新できればと思います!)
※新形式のknown_hostsだと探すのが少し面倒という理由もあるようです。
大変勉強になりました。
この辺りは詳しくは@angel_p_57さんのSSHの公開鍵ってなに?をご参照いただくと大変勉強になりそうです。
皆で高め合っていきましょう!