场景
给两台服务器互相配置免密登入,其中一台服务器故障,我们当时决定用另一台服务器来替换并且ip地址还是使用之前的地址。替换后发现免密登入无效,出现WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!报错
示例
[root@mysql1 ~]# scp mysql-boost-5.7.20.tar.gz 20.0.0.19:/root //之前做过免密登入,远程出现下面报错
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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:tuntjXEol0F7htK5XvAFKOooyQzYlxecuCLZAb/Er/I.
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:2
ECDSA host key for 20.0.0.19 has changed and you have requested strict checking.
Host key verification failed.
lost connection
解决办法
在/root下.ssh/中有known_hosts这个文件,记录主机的信息,将旧的主机信息删除后再重新生成就可以了
[root@mysql1 ~]# cd /root/.ssh
[root@mysql1 .ssh]# ls
id_rsa id_rsa.pub known_hosts
[root@localhost .ssh]# vi known_hosts
20.0.0.18 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOMWQmuIelfLnuVNmmn3iTT+xLnZeJczsFpZG9WaBQMVPTB5JRctO3lUvEfpH9J1c20ENVu+S468JF2mcpYPyy8=
20.0.0.19 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBE5dlAX5Vz2dB8ST06v4kuenbUYTbT091vH4B9LnhIJ3uxSezIaermdARx4dcg9yPpK8OU3RlvVFGjxZUw+QClo= //比如这个ip地址记录的信息是旧的,就可以删除后再接收20.0.0.19生成秘钥
……省略部分
[root@localhost .ssh]# [root@mysql1 .ssh]# ssh-copy-id 20.0.0.19