could not load host key
原创
©著作权归作者所有:来自51CTO博客作者hello大钊的原创作品,请联系作者获取转载授权,否则将追究法律责任
could not load host key
因需要,克隆一虚拟机。可是克隆的虚拟机死活连不上xhell显示如下。
![1.png could not load host key_远程连接](http://s2.51cto.com/wyfs02/M00/89/D4/wKiom1ge4teyP8qdAAA03ESnK8k382.png?x-oss-process=image/resize,m_fixed,w_1184)
最先以为是iptables防火墙阻止了,结果防火墙没有发现任何规则。于是翻看日志,显示如下
![2.png could not load host key_启动失败_02](http://s2.51cto.com/wyfs02/M00/89/D1/wKioL1ge4uHAgA4RAAAN_MewOu8474.png?x-oss-process=image/resize,m_fixed,w_1184)
密钥加载失败,没有权限。于是乎,切换到/etc/ssh文件下下面。发现权限正常,密钥文件存在。于是,就将三个密钥重新生成一遍。瞬间满血复活。
ssh-keygen -t rsa -f ssh_host_rsa_key
![3.png could not load host key_启动失败_03](http://s2.51cto.com/wyfs02/M02/89/D4/wKiom1ge4vejCQvpAABiEIPAA2c376.png?x-oss-process=image/resize,m_fixed,w_1184)
接下来将其他保存的密钥全部重新生成一次。
ssh-keygen -t ed25519 -f ssh_host_ed25519_key
生成完成后重启sshd服务,若是那个密钥还是不能加载,按照上述方法再次生成即可。
按照原理来说sshd服务启动的时候会自动生成密钥,这里生成的密钥为何不能用。因为是在克隆过程中密钥生成出错。如下图
![4.jpg could not load host key_启动失败_04](http://s2.51cto.com/wyfs02/M02/89/D1/wKioL1ge4wmQAytaAABoe8W3mlk828.jpg?x-oss-process=image/resize,m_fixed,w_1184)
如果SSH主机密钥在那里找不到,或者它们的大小被截断成为0(就像上面那样),你需要从头开始重新生成主机密钥。