ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

SSH 连接 VirtualBox 里的 Ubuntu

SSH 连接 VirtualBox 里的 Ubuntu 环境VirtualBox Ubuntu 22.04.5 LTS服务器版镜像ubuntu-22.04.5-live-server-amd64.iso宿主机 Windows。初始动机用 VirtualBox 装完 Ubuntu 服务器版后一直盯着它自带的小黑框操作字体和窗口大小都不能调也没有鼠标复制粘贴一条命令要在心里默念好几遍。先试了 gpmGeneral Purpose Mouse想给终端补上鼠标支持但光标位置经常错位、响应也慢用起来更别扭。于是转向 SSH让 Windows 通过终端连进虚拟机字体、窗口随便调复制粘贴也回来了。操作阶段一尝试直接连接在 Windows PowerShell 里输入ssh [用户名]10.0.2.15其中10.0.2.15是虚拟机的 NAT 网络 IP 地址写自己的此处以本人为例。注在 Ubuntu 虚拟机里执行ip a从enp0s3网卡下找到 inet 行可以看到虚拟机的 NAT 网络 IP 地址为10.0.2.15/24。报错ssh: connect to host 10.0.2.15 port 22: Connection timed out原因NAT 模式下Windows 无法直接访问虚拟机内部 IP10.0.2.15。NAT 只允许虚拟机主动连外面如ping 8.8.8.8不允许外面主动连虚拟机入站连接被拦截。阶段二尝试桥接模式思路改成“桥接模式”让虚拟机和 Windows 处在同一局域网直接用 IP 连。遇到的问题VirtualBox 设置 → 网络 → 桥接网卡 → “名称”下拉框是空的选不了网卡。可能原因VirtualBox 的网卡驱动没有正确安装导致无法识别 Windows 的 Wi-Fi 或有线网卡。尝试解决运行 VirtualBox 安装程序 → 选择“修复”然后重启 Windows。预期这样下拉框里会出现 Realtek 或 Wi-Fi 选项。结果失败名称下拉框中依然是空的。当时时间已经很晚于是放弃了这条路径的探索。阶段三尝试 NAT 端口转发1. 配置端口转发规则路径VirtualBox 主界面 → 选中虚拟机 → 设置 → 网络 → 保持 NAT → 端口转发。添加一条规则字段填写内容名称SSH协议TCP主机IP空主机端口2222子系统IP空子系统端口22注主机 IP 和子系统 IP 留空是“监听所有地址”和“自动指向虚拟机默认 IP”的正确写法。2. 第一次连接仍然失败在 PowerShell 里输入ssh [用户名]127.0.0.1 -p 2222注127.0.0.1是一个特殊的 IP 地址叫“本地回环地址”意思就是“我自己”。报错ssh: connect to host 127.0.0.1 port 2222: Connection refused3. 可能原因端口转发规则修改后必须彻底关闭虚拟机再重新启动规则才会生效。如果只是“保存状态”再恢复虚拟机不会重新加载网络配置端口转发不会激活。4. 解决操作在虚拟机里执行sudo shutdown -h now彻底关机。确认端口转发规则存在。重新启动虚拟机。5. 第二次连接终于成功在 PowerShell 里重新输入ssh [用户名]127.0.0.1 -p 2222出现提示The authenticity of host [127.0.0.1]:2222 cant be established. Are you sure you want to continue connecting (yes/no)?输入yes然后输入密码看到[用户名][主机名]:~$连接成功。阶段四收尾VirtualBox 主界面可以随意关掉点 X虚拟机仍在后台运行。Ubuntu 显示窗口小黑框不要点 X 关闭最小化即可。断开 SSH在 PowerShell 里输入exit退出 SSH 连接。彻底关机在 SSH 连接状态下输入sudo shutdown -h now。重连PowerShell 输入ssh [用户名]127.0.0.1 -p 2222。注意连接一定要在虚拟机开启的状态下。我犯傻了指令关掉虚拟机后尝试重连失败了才突然反应过来T﹏T初稿 2026-07-27发布 2026-10-11
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进