SSH 连接超时,一天前还可以正常工作

SSH 连接超时,一天前还可以正常工作

情况是这样的。直到一天前,SSH 都运行正常。我没有做任何异常的事情。我能够将 putty 连接到我的服务器,通过 ssh 使用 git 等。

但现在我什么都做不了。这个错误在我使用的所有 SSH 客户端和设备(putty、git bash、cmder 等)中都是持续存在的,而且很常见。错误当然是连接超时。以下是我到目前为止尝试过的方法。

  • ssh -vvv mydomain.com没有返回任何有用的东西,只是在一堆无用的东西之后出现相同的错误。
  • 尝试禁用 Windows 防火墙(当然)。没有蛋糕。
  • 检查并确保我的服务器仍在服务:22。请注意,Git 与 bitbucket 的连接也不再起作用。
  • 在其他设备(我的笔记本电脑)上尝试过。仍然连接超时。(所以这里可能不是操作系统的问题)。
  • 尝试重置路由器。没有蛋糕。
  • 改变互联网连接确实可以解决该问题。

那么可能是 ISP 封锁了 22 端口?但昨天它还能正常工作。另外我如何确定问题出在 ISP 端?

答案1

ISP 阻止传出 SSH 连接的情况并不常见,例如,目标端口为TCP端口 22,但您可以从其中一个客户端系统进行测试,例如使用油灰尝试连接到端口 22portquiz.net;portquiz.net 服务器监听所有 TCP 端口,允许您测试任何出站 TCP 端口。您应该会看到 portquiz 服务器提示输入用户名和密码。

您提到您不认为服务器端存在问题,因为您可以从另一个位置连接到 SSH 服务器。由于防火墙软件可以阻止特定的 IP 地址或地址范围,因此您应该验证它是否没有阻止 ISP 分配给您系统的 IP 地址;您可以访问www.whatismyip.com确定当前分配的外部 IP 地址。如果服务器正在使用iptables有关防火墙功能,请参阅如何列出和删除 Iptables 防火墙规则

通常情况下,如果没有你特别要求,你不会指望防火墙会阻止你,但如果服务器正在运行Fail2ban或类似的东西入侵检测系统 (IDS)软件,如果您在尝试通过 SSH 登录时无意中多次输入错误登录凭据,您的 IP 地址甚至可能被服务器禁止使用 SSH 连接,尽管这种禁止可能是暂时的。如果服务器正在运行 Fail2ban,检查其日志文件,可能在/var/log/fail2ban.log;如果地址在那里,你可以取消封禁 IP 地址

您是否可以从客户端系统的其他端口访问服务器?例如,如果服务器用作 Web 服务器,您可以从客户端系统连接到端口 80 和/或 443?或者如果它用作电子邮件服务器,则连接到端口 25。您能客户端系统与服务器之间的连接?如果您本应可以访问其他端口,但却无法访问,如果服务器上没有阻止您的 IP 地址,则可能是您的 ISP 和服务器之间的网络连接存在问题。

Wireshark是一款非常有用的工具,可用于解决连接问题。它是免费的,可用于各种操作系统,包括 Microsoft Windows。您可以将其安装在其中一个客户端系统上,并观察系统与服务器之间的网络流量。它可以捕获并显示运行它的系统与其他系统之间的所有网络流量;要仅隔离客户端系统与服务器之间的流量,您可以配置 Wireshark 按端口号(例如 22)或 IP 地址进行过滤。还有命令行工具,转储,相当于常用的tcpdumpLinux 系统上的实用程序,但由于 Wireshark 提供了图形用户界面 (GUI),因此使用它来分析流量会更容易。使用数据包分析器(例如 Wireshark),您可以确定客户端系统是否看到来自服务器的任何数据包,或者流量是否都是单向的,即从客户端到服务器。

相关内容