全部產品
Search
文件中心

:使用SSH用戶端登入Linux執行個體時,提示“error: Unable to load host key: /etc/ssh/ssh_host_rsa_key”錯誤怎麼辦?

更新時間:Mar 06, 2025

本文主要介紹遠端連線Linux系統的ECS執行個體,提示“error: Unable to load host key: /etc/ssh/ssh_host_rsa_key”錯誤的原因和解決方案。

問題現象

使用SSH方式無法串連Linux系統的ECS執行個體,通過VNC登入執行個體後,執行cat /var/log/securecat /var/log/messages查看日誌,出現類似如下錯誤資訊。

error: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
error: @ WARNING: UNPROTECTED PRIVATE KEY FILE! @
error: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
error: Permissions 0777 for '/etc/ssh/ssh_host_rsa_key' are too open.
error: It is required that your private key files are NOT accessible by others.
error: This private key will be ignored.
error: Unable to load host key "/etc/ssh/ssh_host_rsa_key": bad permissions
 error: Unable to load host key: /etc/ssh/ssh_host_rsa_key
error: Unable to load host key "/etc/ssh/ssh_host_rsa_key": invalid format
error: Unable to load host key "/etc/ssh/ssh_host_rsa_key": invalid format
error: Unable to load host key: /etc/ssh/ssh_host_rsa_key
error: Unable to load host key "/etc/ssh/ssh_host_ecdsa_key": invalid format
error: Unable to load host key "/etc/ssh/ssh_host_ecdsa_key": invalid format
error: Unable to load host key: /etc/ssh/ssh_host_ecdsa_key

問題原因

該問題可能是由於ECS執行個體中SSH服務相關的密鑰檔案異常,導致sshd守護進程不能載入到正確的SSH主機密鑰。常見密鑰檔案異常情況如下:

  • SSH主機密鑰檔案許可權配置異常,導致無法正常讀取。

    例如,私密金鑰檔案預設許可權是600,如果配置成777等其他許可權,導致其他使用者也有讀取或修改許可權。此時,SSH服務會認為該配置存在安全風險,導致串連失敗。

  • SSH主機密鑰檔案異常,例如檔案損壞、被刪除或篡改等。

解決方案

您可以通過重建SSH主機密鑰檔案解決該問題。

  1. 以VNC方式遠端連線ECS執行個體。

    具體操作,請參見串連方式概述

  2. 重建主機密鑰檔案。

    sudo rm -f /etc/ssh/ssh_host_*
    sudo /usr/bin/ssh-keygen -A
    sudo chmod 600 /etc/ssh/ssh_host_*
    sudo chmod 644 /etc/ssh/*.pub
  3. 執行如下命令,確認已產生密鑰相關檔案。

    ls -l /etc/ssh

    image

  4. 重啟SSH服務。

    sudo systemctl restart sshd.service 

後續操作

在設定新的主機密鑰後,使用SSH命令串連執行個體時,提示如下報錯,這是由於您在本機儲存了舊的主機密鑰指紋鎖導致的,修複該問題,請參見使用SSH遠端連線Linux系統的ECS執行個體時,提示“Host key verification failed”錯誤怎麼辦

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