博客主页:https://tomcat.blog.csdn
博主昵称:农民工老王
主要领域:Java、Linux、K8S
期待大家的关注💖点赞👍收藏⭐留言💬

目录

  • 尝试重启
  • 查看日志
  • 重置证书
  • 重新启动
  • 实现访问

最近工作中遇到一个问题,某一台虚拟机,突然无法登录。通过排查,发现是因为ssh服务没有启动。

以下是我的解决办法。

尝试重启

通过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

实现访问


如需转载,请注明本文的出处:农民工老王的CSDN博客https://blog.csdn/monarch91 。

更多推荐

故障排查:ssh启动失败(sshd: no hostkeys available)