问题描述
- 使用SSH登录Linux服务器时,提示如下错误信息,导致无法正常连接Linux服务器。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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 the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
ae:6e:68:4c:97:a6:91:81:11:38:8d:64:ff:92:13:50.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:70
RSA host key for x.x.x.x has changed and you have requested strict checking.
Host key verification failed. - 若客户端为Windows环境,以常见的SSH客户端为例,连接时提示如下错误。
X.X.X.X (端口:XX)的主机密钥与本地主机密钥数据库中保存的不一致。主机密钥已更改或有人试图监听此连接。若无法确定,建议取消此连接。
问题原因
Linux服务器进行过重装系统,账户信息变更等使其SSH公钥变更,造成客户端保存的公钥指纹与服务器端不一致,导致SSH认证失败拒绝登录。
解决方案
本文相关Linux配置及说明已在CentOS 6.5 64 位操作系统中进行过测试。其它操作系统版本配置可能有所差异,具体情况请参阅相应操作系统官方文档。
客户端为Windows环境
如果客户端是Windows环境,而且使用SSH客户端Putty连接Windows服务器,您可以参考以下步骤进行操作。
- 启动Putty。
- 在登录页面,单击 Delete,删除登录会话。

- 重新使用用户名及密码登录实例,确认保存新的公钥指纹后,即可成功登录。
注:您也可以在弹出相关告警信息时,单击 接收并保存,让程序自动更新密钥指纹信息,即可成功登录服务器。
客户端为Linux环境
如果客户端是Linux环境,您可以参考以下步骤进行操作。
- 执行如下命令,进入对应账号的known_hosts文件。
vi ~/.ssh/known_hosts
- 按 i 键进入编辑模式。
- 删除Linux服务器IP对应的条目,如下图所示。

- 输入
:wq保存并退出。 - 重新连接Linux服务器,确认保存新的公钥指纹后,即可成功登录。
更多信息
由于公钥一般较长,采用RSA算法时长达1024位,为了简便起见,通过对其MD5计算,生成一个128位的字符串用于信息对比,称为公钥指纹。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




