FusionSphere环境业务虚拟机sshd服务报Could not load host key错误

发布时间:  2014-12-09 浏览次数:  237 下载次数:  0
问题描述

用户在虚拟机里面运行自己编辑的脚本后无法使用ssh或putty工具连接虚拟机,使用命令/usr/sbin/sshd 启动sshd时出现以下信息:

                Could not load host key: /etc/ssh/ssh_host_rsa_key 
                Could not load host key: /etc/ssh/ssh_host_dsa_key
                sshd: no hostkeys available — exiting”


告警信息
处理过程

登录FusionCompute,找到故障业务虚拟机,使用VNC登录系统
进入/etc/ssh目录查看是否存在这两个文件:ssh_host_rsa_key,ssh_host_dsa_key
若存在这两个文件:

处理过程一:系统丢失了两个key造成

在终端中输入:ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key重新创建ssh_host_dsa_key 文件
以下是返回信息:

Generating public/private dsa key pair.
Enter passphrase (empty for no passphrase):(直接回车)
Enter same passphrase again:
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:

xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xxroot@ctucipjslx0327t
 

在终端中输入:ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key 重新建立ssh_host_rsa_key 文件
以下是返回信息 :
Generating public/private rkey pair.

Enter passphrase (empty for no passphrase):(直接回车)
Enter same passphrase again:
Your identification has been saved in /etc/ssh/ssh_host_rsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_rey.pub.
现在在终端输入/usr/sbin/sshd ,即可成功启动sshd;这时候,就可以在windows底下使用putty连接这台linux主机了。

 

处理过程二:当用户没有权限的时候使用命令 /usr/sbin/sshd启动sshd的时候也会报同样错误,一般root用户才能执行这个操作,在终端执行以下两个命令后重启sshd服务即可ssh连接虚拟机,如图所示:

 

根因
该问题发生的原因是,用户的脚本修改了sshd服务的相关文件,sshd服务启动时,没有找到其自身需要的私钥。有以下两种可能导致:

系统丢失了ssh_host_dsa_key和ssh_host_rsa_key两个文件
用户没有权限访问这两个key
解决方案
重启sshd服务时,如果sshd服务报Could not load host key错误;进入/etc/ssh目录查看是否存在这两个文件:ssh_host_rsa_key,ssh_host_dsa_key;

如果不存在以上两个文件按照处理过程一操作,如果存在以上两个文件,请按照上面的处理过程二操作
建议与总结

END