本文转载自:known_hosts文件作用,以及常见问题
当遇到以下问题:
root@ibox:~# ssh 192.168.20.46
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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:6C6zDl5/8R8dUGhQVW8YjCpGN6wj+a95LgyoUm7B6bI.
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:13
ECDSA host key for 192.168.20.46 has changed and
时,千万不要直接删除known_hosts文件,否则再ssh连接其他的linux设备的时候,又要重新输入yes,但是当远程设备多的时候,输入yes也是一个比较大的工作量!!
输入yes后,ssh会将对方的公钥信息记录到本机的known_hosts文件文件中,下次再登录时就不用再输入yes。
之所有有这样的提示,是因为远程主机的公钥信息和known_hosts文件中记录的不一样了。所以解决方法是,将本机known_hosts文件中该远程主机对应的公钥信息删除即可,执行如下命令即可:
ssh-keygen -f “/home/mokar/.ssh/known_hosts” -R 192.168.1.100
将-R后面的ip换成实际的ip即可。