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 ED25519 key sent by the remote host is
SHA256:hDwDQdOfi0eWiW37Fza5S31d89rHRKWmImdwHAhojZM.
Please contact your system administrator.
Add correct host key in /home/hoge/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/hoge/.ssh/known_hosts:18
Host key for [192.168.10.110]:5432 has changed and you have requested strict checking.
Host key verification failed.
叱られた原因
エラーメッセージをよく読むと、どうやらSSH接続用の公開鍵を書き換えたことが原因らしい。
対処法
このエラーは ~/.ssh/known_hostsファイルにあるエントリー情報と現在接続しようとしているエントリー情報が異なることにより発生します。
ということで、known_hostsファイルから古いエントリーを削除してやることで対処できます。
エントリーを削除する方法
古いエントリーを削除するには、ssh-keygenコマンドに-Rオプションをつけて使用します。書式は以下のとおりです。
shell
$ ssh-keygen -R [ホスト名]:ポート番号
となります。
上記のエラーの例では、
shell
$ ssh-keygen -R [192.168.10.110]:5432
とします。
まとめ
今回のエラーは、エラーメッセージこそど派手ですが、原因と対処法さえわかってしまえば、全然怖くないエラーです。
このメモが、このエラーに遭遇した方のお役に立てば、さいわいです。
それでは、よいSSHライフを。