常见问题
启动sshd时,报“Could not load host key”错误
现象:启动sshd服务时,虽看似服务启动成功,但客户端并不能连接上sshd服务器端。
如下:
[root@master ~]# /usr/sbin/sshd
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
原因:
1. 从提示信息看是sshd守护进程不能加载主机密钥文件,因为找不到这些密钥文件(配置文件/etc/ssh/sshd_config中已定义密钥文件名与路径);
2. 一般openssh服务正常安装后,主机会自动生成相应的主机密钥文件,但这里因未知原因并没有完成这一步动作,导致无法远程ssh连接。
重新生成主机密钥文件:
1. 生成rsa_key (-t表示生成的密钥所使用的加密类型;-f项后接要生成的密钥文件名)
[root@master ~]# ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
- 生成ecdsa_key
[root@master ~]# ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
- 生成ed25519_key
[root@master ~]# ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
此时客户端可ssh连接上sshd服务器端:
[root@master ~]# ssh 172.0.0.1
The authenticity of host '172.0.0.1 (172.0.0.1)' can't be established.
ECDSA key fingerprint is 37:2a:69:46:c4:bd:92:b2:43:b4:cc:42:41:8e:12:2e.
Are you sure you want to continue connecting (yes/no)?