共计 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