使用密钥登录阿里云服务器报错 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!


进入到红色方框里的目录:


那么这个 known_hosts 文件是干什么的呢?

当第一次使用ssh登录阿里云服务器时,输入ssh [email protected] ........ 命令后会提示:


当我们选择yes时,ssh会把阿里云服务器的公钥(host key)都记录在~/.ssh/known_hosts。当下次访问相同服务器时,ssh会核对host key。如果host key不同,ssh会发出警告,避免你受到中间人攻击。

我这里之所以报错,是因为我重置了阿里云服务器,服务器host key发生了变化,所以再次登录时会报错。

解决方法

使用如下命令:

ssh-keygen -R YourAliyunServerIp     (YourAliyunServerIp 就是你阿里云服务器的公网ip)

这个命令干了什么呢? 他会更改我们上面说到的known_hosts文件,并生成一个known_hosts.old文件,known_hosts.old文件其实就是known_hosts未修改前的版本。对比一下两个文件:



这两个文件的区别就是下面绿色方框里的内容不一样。

执行完该命令,然后我们再尝试登陆,就可以成功了。

知道了上面这个命令可以成功,而且知道这个命令干了什么,那么我们可以不使用该命令,而是通过搜索ip找到known_hosts文件绿色方框里的内容,将其删除,然后登陆也可以成功。

当然还有更暴力的方法,就是将known_hosts文件清空,但这种方式会把之前登录其他服务器得host key也一并删除了,所以不推荐。




猜你喜欢

转载自blog.csdn.net/huxinguang_ios/article/details/80926549
今日推荐