SSHでは、接続先サーバの情報(RSA公開鍵のフィンガープリント)をクライアントに保存し、SSH接続時に以前保存した情報と、現在接続しようとしているサーバーの情報が一致しているかを確認する仕組みになっています。

以前接続したサーバーを削除し、以前接続したサーバーと同じIPアドレスで新規サーバーを構築した場合に、クライアントに以前接続したサーバーの情報が残っていると、サーバーの情報が一致せずに SSH接続時に以下エラーが発生する場合があります。

$ sudo ssh root@192.168.25.109
[sudo] yuji のパスワード:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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:pJCS7Ae2bx7me8qR8TqKG10nEwvEd16+aJ8TAF7lLmU.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /root/.ssh/known_hosts:18
ECDSA host key for 192.168.25.109 has changed and you have requested strict checking.
Host key verification failed.
$ 

ここでは、上記エラーを回避する方法を紹介します。

保存している接続先サーバの情報(フィンガープリント)を削除します。

$ sudo ssh-keygen -R 192.168.25.109
# Host 192.168.25.109 found: line 18
/root/.ssh/known_hosts updated.
Original contents retained as /root/.ssh/known_hosts.old
$ 

削除した後に、SSH 接続できようになっていることを確認します。

$ sudo ssh root@192.168.25.109
The authenticity of host '192.168.25.109 (192.168.25.109)' can't be established.
ECDSA key fingerprint is SHA256:pJCS7Ae2bx7me8qR8TqKG10nEwvEd16+aJ8TAF7lLmU.
ECDSA key fingerprint is MD5:63:ff:6a:08:72:d7:7b:64:e5:c3:2d:1c:e3:72:a6:30.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.25.109' (ECDSA) to the list of known hosts.
root@192.168.25.109's password: 
Last login: Sat Nov 10 14:15:04 2018
[root@host-172-16-2-105 ~]#