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 無法登錄問題排查指引 做進一步排查分析。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM