SSH连接失败的相关排错

442次阅读
没有评论

共计 1501 个字符,预计需要花费 4 分钟才能阅读完成。

提醒:本文最后更新于 2025-07-12 19:58,文中所关联的信息可能已发生改变,请知悉!

先用 ping 命令排查是否能够 Ping 通

使用 ssh - v 命令

用 ssh - v 去连有问题的服务器,会有比较详细的调试信息在屏幕上输出,可以帮助判断是哪一步出了问题。

主要是看是客户端还是服务器的问题。如果是客户端的问题,应该 log 中有写。如果是没有什么有用信息,就可能是服务器端出问题了。

[root@jpeng ~]# ssh -v root@123.207.4.225
OpenSSH_6.6.1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 56: Applying options for *
debug1: Connecting to 10.1.101.35 [10.1.101.35] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: identity file /root/.ssh/id_ed25519 type -1
debug1: identity file /root/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1
ssh_exchange_identification: read: Connection reset by peer

现在看起来是服务器出问题了,虽然不能 ssh 到服务器,但可以通过售后工具里 VNC 进去。

排错思路 1:

检查 /etc/hosts.deny 里面是否有 SSHD:开头的行,有此行表示 SSH 的客户端 IP 进入了黑名单,将其注释;
再检查 /etc/hosts.allow 里面是否也有 SSHD:开头的行,如果是 /etc/hosts.deny 没有 SSHD 相关内容而 /etc/hosts.allow 里有 SSHD 相关内容,这就成了白名单,只有在这个文件里面的 IP 才能通过 SSH 连接,也可以先注释

排错思路 2:

检查 /etc/ssh 目录下相关文件的权限
有碰到过很多例是这种情况,客户的 SSHD 服务相关 key 文件权限被修改,导致 SSHD 服务启动异常。
先执行 ls -l /etc/ssh/*key 查看一下相关文件权限是否有问题
执行 systemctl restart sshd 查看能否正常,即使服务重启没有失败,ssh 客户端现在也是无法连接的
再执行 systemctl ststus sshd -l 查看一下服务状态

一般来讲,这些相关文件不需要执行权限,而且也只有 root 用户可以访问,因此正常重新赋予这些文件 600 或者 640 权限即可。
然后再重启一下服务

chmod 640 /etc/ssh/*key 
systemctl restart sshd 
systemctl status sshd -l

正文完
 0
peng
版权声明:本站原创文章,由 peng 于2018-04-09发表,共计1501字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。