我正在尝试通过笔记本电脑上的 putty 连接到家用电脑上 cygwin 上运行的 ssh 服务器,在我的网络内部和外部端口 22 上都可以正常工作,但在端口 443 上超时。这有点问题,因为我要连接的网络阻止我使用 22。我猜这是一个端口转发问题,但我在路由器设置中设置了一条规则(isp 提供的 BT HomeHub 3 Type A),但它似乎没有打开端口。任何关于如何解决问题的想法都将不胜感激。
答案1
当你通过 telnet(或 nc)连接到有 ssh 服务器监听的端口时,你应该会得到一串字符,例如
SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u2
如果您没有获得这样的字符串,那么您就没有与 ssh 服务器对话,如果您尝试与其进行 ssh 对话,那么您的客户端将会超时。
如果不起作用,请将服务器改回端口 22,以便 ssh 再次工作,然后检查它看起来如何。从服务器本身尝试。更改为端口 443,然后从本地主机重试。一旦没问题,请从服务器外部尝试。如果它从本地主机工作,但从外部不工作,则问题可能是端口重定向、过滤或其他类型的防火墙。
在极少数情况下,如果您获得了 OpenSSH 字符串,但 OpenSSH 客户端仍然超时,则您的问题有所不同,您需要提供 ssh 的 -vvv 输出。您可能遇到了 MTU 问题。