fyz*_*x92 5 windows ssh timeout
首先,我对 SSH 还很陌生。我以前用过它,但从来不需要处理太多的设置或导航细节。从 ServerFault 迁移。
每当我尝试从 Windows 10 计算机 ssh 到公共 IP 地址时,都会收到类似 的错误ssh: connect to username@<public ip address> port 22: Connection timed out。
我可以使用私有IP地址从Windows连接到我自己的Linux机器,并且我的Windows机器使用ssh公钥/私钥身份验证连接到github。我的 Linux 机器可以通过 ssh 连接到外部服务器(如 AWS),据我所知,这只是我的 Windows 机器,而且只是公共 IP 地址。
这是带有该选项的输出-vv,在不同的端口上:
ssh -vv -p 2200 example.com OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5 debug2: resolving "example.com" port 2200 debug2: ssh_connect_direct: needpriv 0 debug1: Connecting to example.com [93.184.216.34] port 2200. debug1: connect to address 93.184.216.34 port 2200: Connection timed out ssh: connect to host example.com port 2200: Connection timed out
Run Code Online (Sandbox Code Playgroud)
是什么导致了这个问题,我需要做什么来解决它,以便我可以从我的 Windows 10 计算机 ssh 到外部服务器?
我可以正常 ping 外部服务器:
Pinging 1.1.1.1 with 32 bytes of data:
Reply from 1.1.1.1: bytes=32 time=23ms TTL=54
Reply from 1.1.1.1: bytes=32 time=74ms TTL=54
Reply from 1.1.1.1: bytes=32 time=26ms TTL=54
Reply from 1.1.1.1: bytes=32 time=24ms TTL=54
Ping statistics for 1.1.1.1:
packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 23ms, Maximum = 74ms, Average = 36ms
Run Code Online (Sandbox Code Playgroud)
发生这种情况的原因有很多 - 这些可能是由于某处存在防火墙所致。
SSH 位于 TCP 之上。当您收到连接超时错误时,这意味着问题是 SSH 客户端没有看到服务器的任何响应(即 TCP 握手未完成),这几乎总是意味着问题不在于 SSH,而在于较低的问题。等级。这也解释了为什么您会在 SSH 未侦听的端口上收到此错误。
我做的第一件事是检查防火墙规则以检查它们是否允许 SSH 通过。由于问题似乎仅限于您的笔记本电脑/台式机,因此检查本地防火墙和 AV 软件是一个不错的起点。
如果这不能解决问题,请使用流量嗅探器 - 查看服务器是否接收和发送流量是一个有用的提示。作为它的Linux,运行类似的东西
tcpdump -n -i any src or dst XXX.XXX.XXX.XXX
Run Code Online (Sandbox Code Playgroud)
如果 XXX.XXX.XXX.XXX 是您的外部 IP,并且您通过与您的桌面不在同一个人上的计算机进行监控,则非常有用。(也许可以通过 SSH 连接到中间服务器,即使用蜂窝连接或 VPN?)
如果它是一个复杂的网络,您可能需要让网络管理员参与其中。如果它是一个简单的网络,您是网络管理员,您可能会怀疑路由器上的端口转发问题和/或与此相关的错误配置。
使用 VPN 可以“虚拟移动”连接的明显点,并且对于诊断/绕过防火墙问题很有用。
| 归档时间: |
|
| 查看次数: |
107917 次 |
| 最近记录: |