Home > php教程 > php手册 > 启动sshd时,报“Could not load host key”错

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

WBOY
Release: 2016-06-13 08:39:03
Original
1072 people have browsed it

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

现象:启动sshd服务时,虽看似服务启动成功,但客户端并不能连接上sshd服务器端。
如下:
<ol style="margin:0 1px 0 0px;padding-left:40px;" start="1" class="dp-css"><li>[root@aefe8007a17d ~]# /usr/sbin/sshd<br /></li><li>Could not load host key: /etc/ssh/ssh_host_rsa_key<br /></li><li>Could not load host key: /etc/ssh/ssh_host_ecdsa_key<br /></li><li>Could not load host key: /etc/ssh/ssh_host_ed25519_key</li></ol>
Copy after login

原因:
1. 从提示信息看是sshd守护进程不能加载主机密钥文件,因为找不到这些密钥文件(配置文件/etc/ssh/sshd_config中已定义密钥文件名与路径);
2. 一般openssh服务正常安装后,主机会自动生成相应的主机密钥文件,但这里因未知原因并没有完成这一步动作,导致无法远程ssh连接。

检查密钥文件是否存在(还有一种现象为:密钥文件存在,但文件大小为0):
<ol style="margin:0 1px 0 0px;padding-left:40px;" start="1" class="dp-css"><li>[root@aefe8007a17d ~]# ll /etc/ssh/<br /></li><li>total 252<br /></li><li>-rw-r--r-- 1 root root 242153 Mar 21 22:18 moduli<br /></li><li>-rw-r--r-- 1 root root   2208 Mar 21 22:18 ssh_config<br /></li><li>-rw------- 1 root root   4361 Mar 21 22:18 sshd_config</li></ol>
Copy after login

重新生成主机密钥文件:
1. 生成rsa_key (-t表示生成的密钥所使用的加密类型;-f项后接要生成的密钥文件名);
<ol style="margin:0 1px 0 0px;padding-left:40px;" start="1" class="dp-css"><li>[root@aefe8007a17d ~]# ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key<br /></li><li>Generating public/private rsa key pair.<br /></li><li>Enter passphrase (empty for no passphrase): <br /></li><li>Enter same passphrase again: <br /></li><li>Your identification has been saved in /etc/ssh/ssh_host_rsa_key.<br /></li><li>Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub.<br /></li><li>The key fingerprint is:<br /></li><li>5e:2d:19:51:b1:e3:e0:60:65:53:e4:14:f8:d8:38:af root@aefe8007a17d<br /></li><li>The key's randomart image is:<br /></li><li>+--[ RSA 2048]----+<br /></li><li>|          ==Bo   |<br /></li><li>|         o.= .   |<br /></li><li>|        o o=+    |<br /></li><li>|       . o+*o.   |<br /></li><li>|        S =oo    |<br /></li><li>|       . . ..    |<br /></li><li>|        .  .     |<br /></li><li>|          E      |<br /></li><li>|                 |<br /></li><li>+-----------------+<br /></li><li>[root@aefe8007a17d ~]# ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key</li><li><br /></li></ol>
Copy after login
2. 生成ecdsa_key;
<ol style="margin:0 1px 0 0px;padding-left:40px;" start="1" class="dp-css"><li>[root@aefe8007a17d ~]# ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key</li></ol>
Copy after login
3. 生成ed25519_key。
<ol style="margin:0 1px 0 0px;padding-left:40px;" start="1" class="dp-css"><li>[root@aefe8007a17d ~]# ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key</li></ol>
Copy after login

再次检查密钥文件是否存在且合规,可以看到已生成相应主机密钥文件(实际上主机密钥文件为私钥,.pub文件为公钥):
<ol style="margin:0 1px 0 0px;padding-left:40px;" start="1" class="dp-css"><li>[root@aefe8007a17d ~]# ll /etc/ssh/<br /></li><li>total 276<br /></li><li>-rw-r--r-- 1 root root 242153 Mar 21 22:18 moduli<br /></li><li>-rw-r--r-- 1 root root   2208 Mar 21 22:18 ssh_config<br /></li><li>-rw------- 1 root root    227 May 22 16:48 ssh_host_ecdsa_key<br /></li><li>-rw-r--r-- 1 root root    179 May 22 16:48 ssh_host_ecdsa_key.pub<br /></li><li>-rw------- 1 root root    411 May 22 16:48 ssh_host_ed25519_key<br /></li><li>-rw-r--r-- 1 root root     99 May 22 16:48 ssh_host_ed25519_key.pub<br /></li><li>-rw------- 1 root root   1679 May 22 16:48 ssh_host_rsa_key<br /></li><li>-rw-r--r-- 1 root root    399 May 22 16:48 ssh_host_rsa_key.pub<br /></li><li>-rw------- 1 root root   4361 Mar 21 22:18 sshd_config</li></ol>
Copy after login

此时客户端可ssh连接上sshd服务器端:
<ol style="margin:0 1px 0 0px;padding-left:40px;" start="1" class="dp-css"><li>[root@localhost ~]# ssh 172.17.0.2<br /></li><li>The authenticity of host '172.17.0.2 (172.17.0.2)'can't be established.<br />ECDSA key fingerprint is 37:2a:69:46:c4:bd:92:b2:43:b4:cc:42:41:8e:12:2e.<br />Are you sure you want to continue connecting (yes/no)?</li></ol>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template