Win10经Win7端口转发连接VirtualBox虚拟机失败求助
解决PassPort端口转发下Win10无法连接Win7虚拟机的问题
我来帮你排查当前配置里的问题,不用修改VirtualBox核心设置也能搞定:
1. 修正PassPort的监听地址配置
你当前设置的源地址是「宿主机IP:22」,要确认PassPort是否监听了Win7的局域网网卡地址,而非仅监听本地回环的127.0.0.1。不少端口转发工具默认只绑定本地回环,导致同网络设备无法访问:
- 打开PassPort配置界面,将源地址改为
0.0.0.0:22(表示监听Win7所有网卡的22端口),目标地址保持127.0.0.1:22不变。这样Win10就能通过Win7的局域网IP访问该端口。
2. 配置Win7防火墙允许局域网22端口访问
Win7的Windows防火墙大概率拦截了来自局域网的22端口请求,这是最常见的阻碍:
- 打开「控制面板 → Windows防火墙 → 高级设置」
- 右键「入站规则」→ 新建规则
- 选择「端口」→ 下一步,勾选「TCP」,输入端口号「22」→ 下一步
- 选择「允许连接」→ 下一步,勾选「专用」(若你的网络属于公网环境,可同时勾选「公网」)
- 为规则命名(例如「允许SSH局域网访问」),完成配置。
3. 确认VirtualBox端口转发的主机IP设置
虽然你不想修改VirtualBox设置,但需要补全一个关键细节:VirtualBox的端口转发规则中,主机IP需设为0.0.0.0而非127.0.0.1。若主机IP是127.0.0.1,仅Win7本地能访问转发端口,PassPort无法将外部请求转过去:
- 打开VirtualBox → 选中目标虚拟机 → 「设置」→ 「网络」→ 「高级」→ 「端口转发」
- 查看SSH规则的「主机IP」列,若为127.0.0.1,改为
0.0.0.0(此操作仅调整监听范围,不属于修改虚拟机核心配置)。
4. 分步验证连通性
完成上述配置后,按以下步骤验证:
- 先在Win7本地用PuTTY连接
127.0.0.1:22,确认虚拟机SSH服务正常响应 - 在Win10上打开PuTTY,输入Win7的局域网IP地址(例如192.168.3.10),端口填22,尝试建立连接
- 若仍失败,在Win10命令行执行
telnet 你的Win7局域网IP 22,若命令无响应,说明端口仍被拦截;若有响应但PuTTY连不上,再检查虚拟机SSH服务的运行状态。
内容的提问来源于stack exchange,提问作者oso_togari




