我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!


喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>

点击这里点击这里进入阿里云ECS官方页面,立即免费体验云服务器ECS>>>

点击这里阿里云老客户点击这里申请VIP账号,享终身8折优惠(续费也打折)>>>

无法远程连接Linux系统的ECS实例,提示“error: Unable to load host key: /etc/ssh/ssh_host_rsa_key”错误怎么办?

本文主要介绍远程连接Linux系统的ECS实例,提示“error: Unable to load host key: /etc/ssh/ssh_host_rsa_key”错误的原因和解决方案。

问题现象

使用SSH方式无法连接Linux系统的ECS实例,通过VNC登录实例后,执行cat var/log/securecat var/log/message查看securemessage日志,出现类似如下错误信息。

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 formaterror: Unable to load host key "/etc/ssh/ssh_host_rsa_key": invalid formaterror: Unable to load host key: /etc/ssh/ssh_host_rsa_keyerror: Unable to load host key "/etc/ssh/ssh_host_ecdsa_key": invalid formaterror: Unable to load host key "/etc/ssh/ssh_host_ecdsa_key": invalid formaterror: Unable to load host key: /etc/ssh/ssh_host_ecdsa_key

问题原因

该问题可能的由于ECS实例中SSH服务相关的密钥文件异常,导致sshd守护进程不能加载到正确的SSH密钥。常见密钥文件异常情况如下:

  • 相关密钥文件权限配置异常,导致无法正常读取。

    例如,私钥文件默认权限是600,如果配置成777等其他权限,导致其他用户也有读取或修改权限。此时,SSH服务会认为该配置存在安全风险,导致连接失败。

  • 相关密钥文件异常,例如文件损坏、被删除或篡改等。

解决方案

您可以通过修改SSH服务相关的密钥权限或修复密钥文件来解决此问题。

  1. 以VNC方式远程连接ECS实例。

    具体操作,请参见连接方式概述。

  2. 执行如下命令,查看SSH服务的公钥与密钥文件。

    ls -l /etc/ssh
    • 如果系统显示如下信息,说明公钥与密钥文件丢失,请执行步骤4。

      密钥文件丢失

    • 如果系统显示如下信息,公钥与密钥文件权限为777,并且文件大小为0,说明文件存在异常,请执行步骤3。

      说明

      权限异常并非是777时才是异常,当权限超过默认权限时,都会出现报错。

      查看密钥权限

  3. 执行如下命令,恢复相关密钥文件的默认权限。

    说明

    不同Linux发行版本中,密钥权限可能不同,你可以参考相同Linux发行版本中密钥权限进行修改。

    cd /etc/ssh/
    sudo chmod 600 ssh_host_*
    sudo chmod 644 *.pub
  4. 执行如下命令,重启SSH服务。

    重启SSH服务时,将会自动生成相关密钥文件。

    sudo systemctl restart sshd.service
  5. 执行如下命令,确认已生成密钥相关文件。

    ls -l /etc/ssh

    查看密钥



推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。


我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

131-3501-0006

上班时间

周一到周五

公司电话

130-0743-9476

二维码
线