解决方法:
- 方法一:删除A的known_hosts文件中记录的B的公钥(手动进行,不适用于自动化部署情形)
- 方法二:修改配置文件,在ssh登陆时不通过known_hosts文件进行验证(安全性有所降低),修改完需重启机器
vi ~/.ssh/config //编辑A的配置文件
添加以下两行代码:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
解决方法3:
ssh-keygen -R 192.168.51.212
解决方法 4:
vim ~/.ssh/known_hosts
把相关远程主机信息删掉
解决方法5, 重置 ssh 秘钥:
ssh-keygen -p
Reference links:
https://blog.csdn.net/qq_39387856/article/details/100100903
https://www.cnblogs.com/jim-xu/p/11539805.html
Knonw hosts 介绍:http://www.manongjc.com/detail/9-lvuqqnjmpzhnjxy.html
Force reprocuce this error: https://serverfault.com/questions/980929/how-to-create-status-of-remote-host-identification-has-changed-when-performing-s
Ubuntu18.04上强制复现问题:
将对应行ecdsa-sha2-nistp256后面的字符串使用其它主机上的hash值全部替换掉即可强制复现
|1|hfJCVHp5pdlbkMoz+SzumoVnWxk=|fdHHHI6l2PVolFLnuwxvtCyfKRY= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCKmTma/XhFv5RlPSa8zmsqRuAJ00miwb9VyEoyw1L5VtmDAtS2WTfhdFkVbHsoc9GfqKt3m1ZYIZoEoIjrJcCs=