Ubuntu 使用 VirtualBox 远程连接的实用方案
一、方案总览与选择
- SSH(命令行):最稳定、开销小,适合日常运维与文件传输。
- VNC(图形桌面):直观的远程桌面体验,适合需要 GUI 的场景。
- XRDP(RDP 远程桌面):与 Windows 远程桌面客户端兼容,适合从 Windows 直连 Ubuntu 桌面。
二、SSH 远程连接步骤
- 在 Ubuntu 虚拟机中安装并启动 SSH 服务:
- 安装:
sudo apt update && sudo apt install -y openssh-server
- 启动与开机自启:
sudo systemctl start ssh && sudo systemctl enable ssh
- 防火墙放行:
sudo ufw allow ssh(如使用 UFW)
- 获取虚拟机 IP(用于桥接网络直连):在虚拟机内执行
ip addr 查看 IP。
- VirtualBox 网络与端口转发(NAT 场景):
- 连接方式选 NAT,点击“高级”→“端口转发”,新增规则:
- 名称:ssh
- 协议:TCP
- 主机 IP:127.0.0.1(仅本机访问)或留空(所有地址)
- 主机端口:2222
- 子系统 IP:127.0.0.1
- 子系统端口:22
- 从外部或主机连接:
- 本机测试:
ssh <虚拟机用户名>@127.0.0.1 -p 2222
- 同一局域网其他设备:
ssh <虚拟机用户名>@<宿主机IP> -p 2222
- 桥接模式可直接用虚拟机 IP:
ssh <虚拟机用户名>@<虚拟机IP>。
三、VNC 远程桌面步骤
- 在 Ubuntu 虚拟机中安装并启动 VNC 服务:
- 安装:
sudo apt update && sudo apt install -y tightvncserver
- 首次设置密码:
vncpasswd
- 启动会话:
vncserver :1 -geometry 1280x800 -alwaysshared(会话号 :1 对应端口 5901)
- VirtualBox 端口转发(NAT 场景):
- 端口转发规则:
- 名称:vnc
- 协议:TCP
- 主机端口:5901
- 子系统端口:5901
- 客户端连接:
- 本机:
vncviewer 127.0.0.1:5901
- 其他设备:
vncviewer <宿主机IP>:5901,输入 VNC 密码。
四、XRDP 远程桌面步骤(RDP 协议)
- 在 Ubuntu 虚拟机中安装并启动 XRDP:
- 安装:
sudo apt update && sudo apt install -y xrdp
- 重启服务:
sudo systemctl restart xrdp
- 防火墙放行:
sudo ufw allow 3389
- VirtualBox 端口转发(NAT 场景):
- 端口转发规则:
- 名称:rdp
- 协议:TCP
- 主机端口:3389
- 子系统端口:3389
- 客户端连接:
- Windows:使用“远程桌面连接”,计算机填 <宿主机IP>,端口 3389
- 其他设备:使用支持 RDP 的客户端连接
<宿主机IP>:3389。
五、常见问题与优化
- 连接被拒绝或超时:
- 确认虚拟机内服务已启动(
sudo systemctl status ssh / vncserver -list / sudo systemctl status xrdp)。
- NAT 下务必正确配置端口转发;桥接下确保宿主机与虚拟机在同一网段且可互通。
- 检查宿主机与云环境防火墙/安全组是否放行对应端口(如 22/2222/5901/3389)。
- 提升安全性:
- 更改默认端口、限制来源 IP、启用密钥登录(SSH),避免使用弱密码。
- 图形会话与分辨率:
- VNC 启动时可指定分辨率(如 1280x800),并在客户端选择匹配分辨率。
- 宿主机为 Linux 时的快捷方式:
- 使用
ssh <user>@127.0.0.1 -p 2222 直连 NAT 转发端口;如需对外开放,将主机端口绑定到局域网地址而非仅 127.0.0.1。