如何解决ssh启动失败(sshd: no hostkeys available)
重启
通过VMware登录该虚拟机,然后重启ssh服务。但在启动时出现报错。
查看日志
按照提示,查看到如下报错信息。定位到是证书文件的问题。
This private key will be ignored.
key_load_private: bad permissions
Could not load host key: etc/ssh/ssh_host_ed25. ..key
sshd : no hostkeys available -- exiting.
Failed to start OpensSH server daemon.
Unit sshd .service entered failed state.
重置证书
进入日志中提到的/etc/ssh文件夹进行操作。
注意,你的证书路径不一定和本文一致,请根据您实际看到日志,进行操作。
cd /etc/ssh
将ssh_host开头的文件全部移动到一个备份文件中(也可以直接删除)。
注意:某些教程上说可以修改权限,但那很有可能解决不了问题,还不如直接重新生成。
mkdir backup
mv ssh_host* backup
生成新的证书
ssh-keygen -A
重新启动
启动ssh,并查看状态。
systemctl start sshd.service
systemctl status sshd.service
通过VMware登录该虚拟机,然后重启ssh服务。但在启动时出现报错。
查看日志
按照提示,查看到如下报错信息。定位到是证书文件的问题。
This private key will be ignored.
key_load_private: bad permissions
Could not load host key: etc/ssh/ssh_host_ed25. ..key
sshd : no hostkeys available -- exiting.
Failed to start OpensSH server daemon.
Unit sshd .service entered failed state.
重置证书
进入日志中提到的/etc/ssh文件夹进行操作。
注意,你的证书路径不一定和本文一致,请根据您实际看到日志,进行操作。
cd /etc/ssh
将ssh_host开头的文件全部移动到一个备份文件中(也可以直接删除)。
注意:某些教程上说可以修改权限,但那很有可能解决不了问题,还不如直接重新生成。
mkdir backup
mv ssh_host* backup
生成新的证书
ssh-keygen -A
重新启动
启动ssh,并查看状态。
systemctl start sshd.service
systemctl status sshd.service