You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VirtualBox问题:主机无法通过SSH连接至虚拟机客户机

解决VirtualBox客户机SSH连接失败的问题

针对你在VirtualBox 6.1.22中遇到的Windows 10主机无法SSH连接SUSE SL12P1客户机的问题,结合你提到的细节——桥接模式能ping通但连不上、NAT端口转发无效、已关闭客户机防火墙且主机启用了Hyper-V,我整理了几个针对性的排查和解决步骤,帮你搞定这个问题:

1. 先确认客户机SSH服务真的在正常运行

虽然你已经关了防火墙,但首先得确保SSH服务本身没掉链子:

  • 在SUSE客户机里执行命令检查服务状态:
    systemctl status sshd
    
    如果显示未启动,先启动服务:
    systemctl start sshd
    
    顺便设置开机自启避免下次再出问题:
    systemctl enable sshd
    
  • 再检查SSH是否在22端口正常监听:
    netstat -tulpn | grep sshd
    
    正常情况下应该能看到0.0.0.0:22或者:::22的记录,说明服务在监听所有网卡的连接请求。

2. 处理Hyper-V和VirtualBox的兼容性冲突

这大概率是核心问题——Hyper-V和VirtualBox在虚拟化层面存在资源抢占,会导致网络驱动异常:

  • 如果你暂时不需要Hyper-V,可以直接关闭它:
    打开Windows「控制面板」→「程序和功能」→「启用或关闭Windows功能」,找到「Hyper-V」取消勾选,重启电脑后再测试。
  • 要是必须保留Hyper-V,试试VirtualBox的兼容模式:
    打开VirtualBox主界面,点击「全局设定」→「系统」→「加速」,勾选「启用嵌套VT-x/AMD-V」,同时把「Paravirtualization Interface」设置为「Hyper-V」,之后重启VirtualBox和客户机。

3. 排查桥接模式的细节配置

桥接模式下IP在同一网段但连不上,可能是网卡选择或连接状态的问题:

  • 确认VirtualBox桥接适配器选的是主机正在用的物理网卡(比如你的有线/无线网卡),别选成Hyper-V创建的虚拟网卡了。
  • 可以在客户机网络设置里,先取消「接入网线」的勾选,过几秒再重新勾选,模拟插拔网线让客户机重新获取网络配置。

4. 修正NAT模式的端口转发规则

如果尝试NAT模式,得确保端口转发规则没配错:

  • 进入客户机的网络设置,切换到「NAT」→「端口转发」,添加一条规则:
    • 名称:随便填(比如SSH)
    • 协议:TCP
    • 主机IP:留空或填127.0.0.1
    • 主机端口:选一个没被占用的端口(比如2222)
    • 客户机IP:填客户机的NAT内网IP(通过客户机ifconfig查看,一般是10.0.2.x段)
    • 客户机端口:22
  • 然后在主机上用命令连接:
    ssh 你的SUSE用户名@127.0.0.1 -p 2222
    

5. 检查主机侧的流量拦截

主机能ping通但SSH连不上,可能是Windows防火墙或安全软件拦了流量:

  • 暂时关闭Windows Defender防火墙或第三方安全软件,再测试SSH连接。
  • 确认主机的SSH客户端没有特殊配置(比如禁止连接特定网段)。

按上面的步骤逐一排查,应该能解决你的SSH连接问题。

内容的提问来源于stack exchange,提问作者Gionata Benelli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 17:22:43