VMware中NAT模式下主机ssh访问不了虚拟机
什么是NAT模式NAT 网络地址转换场景 虚拟机 → 共享主机的网络上网就像家里的手机连路由器上网虚拟机可以访问主机、可以访问互联网但外面的设备包括主机本身不能主动找到虚拟机虚拟机在一个独立小局域网里对外是隐藏的问题原因及思路虚拟机使用 VMware NAT 模式这会导致默认情况下虚拟机处于独立虚拟子网192.168.x.x主机与虚拟机不在同一个网段无法直接通信主机无法直接访问 NAT 子网内的任何端口包括 22/SSH必须通过 VMware 端口转发 才能让主机访问虚拟机服务安装并启动 SSH在 Ubuntu 虚拟机内安装并启动 SSH必须做#1.更新软件源 sudo apt update #2.安装 SSH 服务端 sudo apt install-y openssh-server #3.启动 SSH 并设置开机自启 sudo systemctl enable--now ssh #4.查看状态看到active(running)就成功 sudo systemctl status ssh防火墙放行防止拦截# 允许SSH通过防火墙 sudo ufw allow ssh # 重载防火墙规则 sudo ufw reload # 查看防火墙状态确认22端口已放行 sudo ufw status显示 不活动 或 已放行 22 端口 都正常测试连通性在 Windows cmd/powershell 里ping192.168.29.130ssh 你的用户名192.168.29.130VMware 端口转发解决必须把 主机的一个端口 → 映射到虚拟机 22 端口配置步骤打开 VMware → 选中虚拟机 → 编辑虚拟机设置网络适配器 → NAT 模式下方 NAT 设置 → 端口转发 → 添加主机端口26随便选一个没被占用的端口比如 26别用 22避免冲突执行这条命令直接查 26 端口有没有被占用netstat -ano | findstr :26虚拟机 IP 地址192.168.29.130你虚拟机的 IP从ip addr里拿到的虚拟机端口26SSH 默认端口协议TCP点击「确定」保存所有设置关闭窗口在 Windows CMD/PowerShell 执行确认端口通了# 测试SSH端口转发 telnet127.0.0.126最后效果