我在运行 Windows 7 Home Premium 的 Virtualbox 4.0.4 上安装了 Ubuntu 客户端。我为 Vbox 设置了两条防火墙规则,允许任何 TCP 和 UDP 入站,并且这些规则启用了边缘遍历。我将主机端口 9080 和 9022 转发到客户端上的 80 和 22。Win7 盒子位于以太网连接上
经过一些测试,我有一台带 Wifi 连接的上网本和一台 Ubuntu 上网本 remix,它们无法与 Ubuntu 客户机建立 ssh 连接。
但是,同一台上网本可以 telnet 到 Win7 机器地址上的端口 9080,并成功连接到在 Ubuntu 客户机的端口 80 上运行的 Web 服务器。
为了检查这一点,我initctl stop ssh
在 Ubuntu 客户机上运行,验证端口 22 没有侦听器,然后使用 运行 ssh /usr/sbin/sshd -d -e
。这显示了来自控制台的各种调试信息。然后我在 win7 机器上运行 Putty 以连接到其自己的 IP 地址(从 DHCP 获取)上的端口 9022,并成功连接到客户机 Ubuntu。
我不太了解的变量是房东的有线路由器设置,但我不明白为什么它会阻止发往 9022 的数据包,而不会阻止发往 9080 的数据包。
您下一步想看哪里?
答案1
尝试在启用调试的情况下运行 ssh 客户端。我相信这是 -vvv 选项。man ssh
了解详情。