zoukankan      html  css  js  c++  java
  • 启动sshd时,报“Could not load host key”错

    原文发表于cu:2016-05-24

    现象:启动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连接。
    ps:检查密钥文件是否存在(还有一种现象为:密钥文件存在,但文件大小为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

    验证:

    1. 再次检查密钥文件是否存在且合规,可以看到已生成相应主机密钥文件(实际上主机密钥文件为私钥,.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

    2. 此时客户端可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)? 
  • 相关阅读:
    Python的logging模块
    Python中的json模块
    Python的re模块
    NoSQL简介
    单例设计模式
    基于配置文件的方式配置AOP
    重用切点表达式
    切面优先级
    返回通知、异常通知、环绕通知
    后置通知
  • 原文地址:https://www.cnblogs.com/netonline/p/7410586.html
Copyright © 2011-2022 走看看