could not load host key

因需要,克隆一虚拟机。可是克隆的虚拟机死活连不上xhell显示如下。p_w_picpath
wKiom1ge4teyP8qdAAA03ESnK8k382.png-wh_50
最先以为是iptables防火墙阻止了,结果防火墙没有发现任何规则。于是翻看日志,显示如下

p_w_picpathwKioL1ge4uHAgA4RAAAN_MewOu8474.png-wh_50

密钥加载失败,没有权限。于是乎,切换到/etc/ssh文件下下面。发现权限正常,密钥文件存在。于是,就将三个密钥重新生成一遍。瞬间满血复活。
ssh-keygen -t rsa -f ssh_host_rsa_key

p_w_picpathwKiom1ge4vejCQvpAABiEIPAA2c376.png-wh_50

接下来将其他保存的密钥全部重新生成一次。
ssh-keygen -t ed25519 -f ssh_host_ed25519_key
生成完成后重启sshd服务,若是那个密钥还是不能加载,按照上述方法再次生成即可。
按照原理来说sshd服务启动的时候会自动生成密钥,这里生成的密钥为何不能用。因为是在克隆过程中密钥生成出错。如下图

wKioL1ge4wmQAytaAABoe8W3mlk828.jpg-wh_50p_w_picpath

如果SSH主机密钥在那里找不到,或者它们的大小被截断成为0(就像上面那样),你需要从头开始重新生成主机密钥。