SSH 登录时出现如下错误:Host key verification failed

   

注意
本文相关 Linux 配置及说明已在 CentOS 6.5 64 位操作系统中进行过测试。其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档。

问题描述

使用 SSH 登录 Linux 实例时,出现类似如下错误信息,导致无法正常连接。

  • Linux 环境连接报错信息:

        
        
    1. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    2. @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
    3. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    4. IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
    5. Someone could be eavesdropping on you right now (man-in-the-middle attack)!
    6. It is also possible that the RSA host key has just been changed.
    7. The fingerprint for the RSA key sent by the remote host is
    8. ae:6e:68:4c:97:a6:91:81:11:38:8d:64:ff:92:13:50.
    9. Please contact your system administrator.
    10. Add correct host key in /root/.ssh/known_hosts to get rid of this message.
    11. Offending key in /root/.ssh/known_hosts:70
    12. RSA host key for x.x.x.x has changed and you have requested strict checking.
    13. Host key verification failed.
  • Windows 环境,以常见的 SSH 客户端为例,连接报错:X.X.X.X (端口:XX)的主机密钥与本地主机密钥数据库中保存的不一致。主机密钥已更改或有人试图监听此连接。若无法确定,建议取消此连接。

问题原因

Linux 实例系统重装、账户信息变更等致使其 SSH 公钥变更,造成客户端保存的公钥指纹与服务器端不一致,导致 SSH 认证失败,拒绝登录。

处理办法

客户端是 Windows 环境

如果客户端是 Windows环境,而且使用 SSH 客户端 Putty 连接 Linux 实例,您可以按以下步骤操作:

  1. 启动 Putty。
  2. 在登录页面删除登录会话。

    Delete

  3. 重新使用用户名及密码登录实例,确认保存新的公钥指纹后,即可成功登录。

说明
您也可以在弹出相关告警信息时,直接单击 接收并保存,让程序自动更新密钥指纹信息,就可以继续正常登录。

客户端是 Linux 环境

如果客户端是 Linux 环境,您可以按以下步骤操作:

  1. 运行以下命令,进入对应账号的 known_hosts 文件:

        
        
    1. vi ~/.ssh/known_hosts
  2. 在返回结果中(如下图所示),找到 Linux 实例 IP 对应的条目,按以下步骤将其删除:

    1. 按 i 键进入编辑模式。
    2. 删除 Linux 实例 IP 对应的条目。
    3. 按 :wq 保存并退出文件。
      删除 Linux 实例 IP 对应的条目
  3. 重新连接 Linux 实例,确认保存新的公钥指纹后,即可成功登录。

如果还有问题,可以参考 云服务器 ECS Linux SSH 无法登录问题排查指引 做进一步排查分析。

猜你喜欢

转载自www.cnblogs.com/wxmdevelop/p/9132195.html