物理机 SSH 连接不上虚拟机
虚拟机能访问外网,不代表宿主机能连接它的 SSH 端口;ping 外站也不能验证 SSH 服务。
先检查虚拟机本身
在虚拟机控制台中查看地址、监听和服务:
ip -br address
sudo ss -lntp
sudo systemctl status ssh --no-pager
Debian / Ubuntu / Kali 的服务名通常是 ssh,其他发行版可能是 sshd。确认 OpenSSH Server 已安装、监听在能被宿主机访问的地址与实际端口上。
再检查虚拟网络
- NAT:VMware Workstation 通常通过 VMnet8 连接宿主机与虚拟机,检查虚拟网卡和子网是否匹配。
- Host-only:检查对应 VMnet 网卡及虚拟机地址;这种网络不要求虚拟机能访问互联网。
- 桥接:检查是否桥接到实际联网的网卡,以及校园网或路由器是否限制额外设备或客户端互访。
不同虚拟化产品的 NAT 行为不完全一致,不能把 VMware Workstation 的设置直接套到其他产品。
宿主机 PowerShell 中测试实际端口,替换示例地址:
Test-NetConnection -ComputerName "192.0.2.10" -Port 22
检查虚拟机防火墙及是否启用了自定义端口。refused 与 timed out 的排查方向不同,不需要先开启 root 密码登录。
原文的网络编辑器截图
下面保留 VMware 虚拟网络编辑器的界面参考:



“还原默认设置”会改动整个虚拟网络配置,可能影响其他虚拟机、自定义子网和端口转发。只在确认网络配置损坏、并记录现有设置后使用,不作为连接失败的第一步。
评论将在接近此处时加载,也可点击立即加载。