我在使用 ssh 时遇到了一个让我完全不知所措的问题(我们部门的 IT 人员也一样):直到几天前,我还可以使用家里的 Ubuntu 机器上的 SSH 毫无问题地访问我们部门服务器(大学数学系,运行 Scientific Linux)上的文件,并且我将工作中的用户目录作为网络驱动器安装时也没有遇到任何问题。
几天前,跑步回归ssh [email protected]
ssh_exchange_identification: Connection closed by remote host
Running ssh -v hostname.tld returns
OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to gorilla.math.uwo.ca [129.100.75.10] port 22.
debug1: Connection established.
debug1: identity file /home/sean/.ssh/id_rsa type -1
debug1: identity file /home/sean/.ssh/id_rsa-cert type -1
debug1: identity file /home/sean/.ssh/id_dsa type -1
debug1: identity file /home/sean/.ssh/id_dsa-cert type -1
debug1: identity file /home/sean/.ssh/id_ecdsa type -1
debug1: identity file /home/sean/.ssh/id_ecdsa-cert type -1
ssh_exchange_identification: Connection closed by remote host
并尝试挂载网络文件夹
Oops! Something went wrong. Unhandled error message: SSH program unexpectedly exited
事实上我甚至无法成功 ping 服务器。
我首先想到的是,要么是服务器宕机了,要么是防火墙设置不正确(尽管我没有对防火墙或路由器进行任何更改)。但是通过路由器/防火墙通过 SSH 连接没有问题,因为我可以通过 SSH 连接到其他服务器(我仍然可以访问我上一个部门服务器上的帐户),而且我想要连接的服务器仍然处于运行状态,因为我可以按如下方式连接:1. 通过 SSH 连接到旧服务器。2. 从旧服务器通过 SSH 连接到新服务器。
但是,我无法直接登录新服务器。我完全不知所措。有什么想法吗?
答案1
我经常使用 fail2ban 或 deniedhosts 之类的服务来监控无效的登录尝试(通常是字典攻击)并禁止客户端的地址。
它们通常通过将客户端地址添加到 /etc/hosts.deny 来工作,此时您将看到此处描述的故障类型,包括使用时出现的“ssh_exchange_identification:远程主机关闭连接”消息ssh -v
。
值得检查您的客户端地址是否在 /etc/hosts.deny 中,以及是否正在运行类似 deniedhosts 的服务。