ssh远程登录服务器报错解决方案 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

1,047 阅读1分钟

报错详情

在命令行中通过ssh命令连接服务器时出现了如下哗啦哗啦的报错,一行行的@让我有点不知所措。 在这里插入图片描述

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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.

报错原因

首先对报错进行翻译 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 翻译过来就是,警告:远程主机标识已更改! ssh服务通过公钥和私钥进行连接认证,会把每一个计算机/服务器访问过的公钥记录到~/.ssh/known_hosts中,当下一次访问时,ssh自动核对公钥,如果记录不同,那么OpenSSH会发出警告! 那么问题来了,我2020年12月份初的时候重新装过一次Ubuntu系统服务器,于是就“顺理成章”地连接失败。 加粗的题外话(滑稽.jpg):欢迎访问系统崩塌再修复的个人站点:MRX空间站

解决方案

我看到有一种方案是通过vim命令删除.ssh/known_hosts中的相关rsa信息,于是下次连接就不会出现认证失败的现象了。 但是我感觉我采用的方法更直接,通过key生成的方式进行更新,详情如下。 在命令行输入ssh-keygen -R ip(Linux服务器公网ip地址) 在这里插入图片描述 显示.ssh/known_hosts updated.我们跟着指令继续连接服务器。 最后通过ssh user@ip+password成功连接到远程服务器上。 在这里插入图片描述