★ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

サーバ

SSH接続で こんなエラーに遭遇しました。

$ ssh user_name@remote_host
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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
SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Please contact your system administrator.
Add correct host key in /Users/user_name/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/user_name/.ssh/known_hosts:1
ECDSA host key for remote_host has changed and you have requested strict checking.
Host key verification failed.

見るからに恐ろしい、エラーですね。

これは何 ?

接続しようとしたリモートホストが、 「以前接続した時の情報と変わっているけど変じゃない ?」 というエラーです。

例えば、なりすましや第三者による傍受などの攻撃かもしれません、注意してください !

そうではなく、AWS など、仮想サーバで IP なんかを付け替えたときにも、このエラーが発生します。
サーバを管理している人が、インスタンスを入れ替えたりすると、発生する感じなので、聞いてみましょう。

誰も何も知らなかったら、接続しないほうが安全ですね。

エラーの解消方法

接続したことがあるホストの情報は ~/.ssh/known_hosts に溜まっていきます。

ここから、大賞ホストの上方を消してやれば警告を抑えることができますよ。

ターミナルで、次のようにすると、OKです。

$ ssh-keygen -R remote_host

もちろん、直接編集しちゃってもOKですよ。

$ vim ~/.ssh/known_hosts