windows/mac远程连接linux服务器报错:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

前情介绍:
由于实验室服务器升级更新,重装了ubuntu系统,导致所有与原系统建立过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.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:g87rBdO5zuu6g29TZNLYLhV1ea4S8l70be0OPHKAk6s.
Please contact your system administrator.
Add correct host key in /var/root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /var/root/.ssh/known_hosts:1
ECDSA host key for [202.116.46.249]:50011 has changed and you have requested strict checking.
Host key verification failed.

报错原因:

因为在于原系统建立首次连接时,双方相互记录了对方的公钥(ssh基于非对称密钥技术),在ssh服务主机重装系统后,公钥改变了,任以旧版本公钥的主机自然是无法与新系统连接的。所以当再次使用相同命令连接服务器时,就会报错。

解决方案:

删除~/.ssh/known_hosts文件中原ssh服务器的公钥,删去那部分即可。

然后后再次建立新的连接,即可获得新的公钥。

补充说明:

按照上述的操作,windows系统应该就可以解决问题啦~(我同学亲测可行)
但是我与他们同样的操作之后,又被卡住了,依旧还是一样的报错。(我使用的是mac)
然后仔细查看错误原因,说要在/var/root/.ssh/known_hosts添加删除key,所以我就使用命令sudo cat /var/root/.ssh/known_hosts去查看了一下,发现还有原IP的相关信息,就将其删除了。再进行连接,发现可以啦嘻嘻嘻,所以就到此为止啦。

注:
1、cat命令时直接查看文件内容。
2、在修改known_hosts文件时,将文件中包含有服务器IP的一整行删除即可,不用将整个文件删除。修改文件需要使用sudo vim 文件名。

参考链接;https://www.cnblogs.com/johnchain/archive/2013/04/08/3006631.html

你可能感兴趣的:(笔记)