最近在登录一台机器的时候,发现无法等入了,出现以下错误:

于是就度娘(不得不说搜索引擎是个好东西),找了好久发现有篇文章里面提到.ssh/known_hosts文件,查看果然有这个文件:

就想这文件是个啥东东,待一查,才明白了,原来known_hosts是记录远程主机的公钥的文件,之前重装个系统,而保存的公钥还是未重装系统的系统公钥,在ssh链接的时候首先会验证公钥,如果公钥不对,那么就会报错,

解决办法:

1、将known_hosts文件中的与登录错误的IP的公钥删除即可,下图就是我的218机子的公钥(实则是之前系统的公钥),然后将其删除,再ssh 登录 great 登录成功了。

2、将known_hosts文件中的内容清空即可,但不建议使用此方法,里面还保存有其他机子的公钥。

3、使用shh-keygen 命令(强烈建议使用此方法

比如我们要将172.16.152.209的公钥信息清除,使用命令(请自己将172.16.152.209替换成自己的IP或域名):

ssh-keygen -R 172.16.152.209

如下图:

完毕之后就可以了,再次登陆就后要求确认是否公钥:

至此ssh链接错误成功解决,记录 在此以供查询。

Linux SSH 远程登录错误解决办法 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED