systemctl status ssh.service 服务重启出现报错

Case:

ubuntu在从Ubuntu 16.04 LTS 升级到18.04 的时候,执行 do-release-upgrade -d 后,发现ssh无法登陆服务器,

Solution:

1、通过ssh -v root@77.75.154.11,发现如下报错:

OpenSSH_7.2p2 Ubuntu-4ubuntu2.4, OpenSSL 1.0.2g 1 Mar 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 77.75.154.11 [77.75.154.11] port 22.
debug1: connect to address 77.75.154.11 port 22: Connection refused
ssh: connect to host 77.75.154.11 port 22: Connection refused

2、通过登陆console 去查看ssh.service服务是否有问题。

3、查看sshd_config配置文件(/etc/ssh/sshd_config)是否配置错误

A: /usr/sbin/sshd -T

B: /usr/sbin/sshd -ddd

4、可以发现可能是

/etc/ssh/sshd_config    里面Ciphers配置文件有问题,故需要检查相关的Ciphers是否支持并正确被配置。通过以下命令检查:

使用 "sshd -t -o Ciphers=..." 命令一个个测试来找到有问题的cipher。

或者可以尝试下面这段代码(将您文件的84行中的所有cipher复制到echo命令中)进行批量测试:

for c in $(echo 'aes128-ctr,aes192-ctr,...' | sed -e "s/,/ /g");
  sshd -t -o Ciphers=$c
done

5、发现确实有不支持的Ciphers配置,把   blowfish-cbc开始的ciphers  直接都删除,保留如下:

直接删除,然后重启 systemctl status ssh.service 

ssh.service服务正常启动。

至此以上ssh登陆问题解决!

原文地址:https://www.cnblogs.com/able7/p/10168639.html