您的位置:首页 > 运维架构 > Linux

启动sshd时,报“Could not load host key”错

2017-06-08 23:36 537 查看
现象:启动sshd服务时,虽看似服务启动成功,但客户端并不能连接上sshd服务器端。

如下:
点击(此处)折叠或打开

[root@aefe8007a17d ~]# /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连接。

检查密钥文件是否存在(还有一种现象为:密钥文件存在,但文件大小为0):

点击(此处)折叠或打开

[root@aefe8007a17d ~]# ll /etc/ssh/

total 252

-rw-r--r-- 1
root root 242153 Mar 21 22:18 moduli

-rw-r--r-- 1
root root 2208 Mar 21 22:18 ssh_config

-rw------- 1
root root 4361 Mar 21 22:18 sshd_config

重新生成主机密钥文件:

1. 生成rsa_key (-t表示生成的密钥所使用的加密类型;-f项后接要生成的密钥文件名);

点击(此处)折叠或打开

[root@aefe8007a17d ~]# ssh-keygen -t
rsa -f /etc/ssh/ssh_host_rsa_key

Generating public/private rsa key pair.

Enter passphrase (empty for no passphrase): 

Enter same passphrase again: 

Your identification has been saved in /etc/ssh/ssh_host_rsa_key.

Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub.

The key fingerprint is:

5e:2d:19:51:b1:e3:e0:60:65:53:e4:14:f8:d8:38:af
root@aefe8007a17d

The key's randomart image is:

+--[ RSA 2048]----+

| ==Bo |

| o.= . |

| o o=+ |

| . o+*o. |

| S =oo |

| . . .. |

| . . |

| E |

| |

+-----------------+

[root@aefe8007a17d ~]# ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key

2. 生成ecdsa_key;
点击(此处)折叠或打开

[root@aefe8007a17d ~]# ssh-keygen -t
ecdsa -f /etc/ssh/ssh_host_ecdsa_key

3. 生成ed25519_key。

点击(此处)折叠或打开

[root@aefe8007a17d ~]# ssh-keygen -t
ed25519 -f /etc/ssh/ssh_host_ed25519_key

再次检查密钥文件是否存在且合规,可以看到已生成相应主机密钥文件(实际上主机密钥文件为私钥,.pub文件为公钥):

点击(此处)折叠或打开

[root@aefe8007a17d ~]# ll /etc/ssh/

total 276

-rw-r--r-- 1
root root 242153 Mar 21 22:18 moduli

-rw-r--r-- 1
root root 2208 Mar 21 22:18 ssh_config

-rw------- 1
root root 227 May 22 16:48 ssh_host_ecdsa_key

-rw-r--r-- 1
root root 179 May 22 16:48 ssh_host_ecdsa_key.pub

-rw------- 1
root root 411 May 22 16:48 ssh_host_ed25519_key

-rw-r--r-- 1
root root 99 May 22 16:48 ssh_host_ed25519_key.pub

-rw------- 1
root root 1679 May 22 16:48 ssh_host_rsa_key

-rw-r--r-- 1
root root 399 May 22 16:48 ssh_host_rsa_key.pub

-rw------- 1
root root 4361 Mar 21 22:18 sshd_config

此时客户端可ssh连接上sshd服务器端:

点击(此处)折叠或打开

[root@localhost ~]# ssh
172.17.0.2

The authenticity of host '172.17.0.2 (172.17.0.2)' 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)? 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  centos