読者です 読者をやめる 読者になる 読者になる

ちーくんのブログ

プログラミング備忘録

一度接続したサーバーにssh接続ができない問題を解決する

こんにちは。本日はサーバーに接続したときにエラーがでる場合の対処法です。

サーバーを構築していると環境を作ったり壊したりする機会があると思います。

もう一度同一のサーバーに接続しようとすると鍵のキャッシュが残っているのでssh接続できない場合があります。

sshで接続するとエラー

接続しようとすると「WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!」というエラーメッセージが表示される。

$ ssh root@IPアドレス
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 RSA key sent by the remote host is
SHA256:長く複雑な文字列.
Please contact your system administrator.
Add correct host key in /Users/Hoge/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/Hoge/.ssh/known_hosts:8
RSA host key for IPアドレス has changed and you have requested strict checking.
Host key verification failed.


何か大げさな感じでメッセージが表示されますが、心配しないでください。


解決方法

上記のようなエラーメッセージが出たら以下の様なコマンドを打てば大丈夫です。

$ ssh-keygen -R IPアドレス
# Host IPアドレス found: line 8
/Users/Hoge/.ssh/known_hosts updated.
Original contents retained as /Users/Hoge/.ssh/known_hosts.old


これでもう一度普通にssh接続すると、エラーが消えて無事に接続できるはずです。



本日は以上です。