我已经在 stackoverflow 上发布了这个问题,并被建议尝试这个论坛。
我在 Windows 7 托管的 VmWare 上运行 Ubuntu 客户端。我尝试将文件从服务器 PC scp 到我的机器,但没有成功,所以我尝试 ssh。ssh 和 scp 请求都超时了。
我能够 ssh到该服务器,因为这就是我首先进入它的方式。我可以从服务器顺利 ping 我的机器。我还从 PC 上的 cygwin ssh 到我的 Ubuntu 机器,以确保其上的 ssh 端口已打开且可访问(尽管两者都在同一台物理 PC 上)。我检查了 iptables 和 ufw 防火墙,发现服务器和我的 Ubuntu 上都没有打开。
服务器与我的 Ubuntu 机器和桌面位于不同的子网中。三者(服务器、Ubuntu 和 cygwin)之间的 ping 操作均有效。我在服务器上运行了 traceroute 到我的机器,我可以看到数据包仅到达服务器的网关。
我在 serverfault 上看到类似的问题,有人建议运行tcpdump -i eth0 port 22 and not host 01
。我在我的 Ubuntu 上运行了它,它看起来正在从服务器捕获数据包,因为 10.216.252.199 是服务器的 IP:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
01:46:15.071002 IP 10.216.252.199.ssh > ubuntu.local.34834: Flags [P.], seq 4048624648:4048624760, ack 2754994889, win 198, options [nop,nop,TS val 1035272096 ecr 40874637], length 112
01:46:15.071499 IP ubuntu.local.34834 > 10.216.252.199.ssh: Flags [.], ack 112, win 176, options [nop,nop,TS val 40890410 ecr 1035272096], length 0
01:46:15.071695 IP 10.216.252.199.ssh > ubuntu.local.34834: Flags [P.], seq 112:192, ack 1, win 198, options [nop,nop,TS val 1035272096 ecr 40874637], length 80
01:46:15.071719 IP ubuntu.local.34834 > 10.216.252.199.ssh: Flags [.], ack 192, win 176, options [nop,nop,TS val 40890410 ecr 1035272096], length 0
坦白说,我不知道这还意味着什么。我只是不明白为什么我可以从 cygwin ssh 并从服务器 ping,但不能从服务器 ssh 到 Ubuntu。这可能与服务器的网关/网络有关吗?
由于我没有主意,因此真的很感激任何帮助。