- 首页 >
- 问答 >
-
云计算 >
- VirtualBox虚拟机在CentOS上如何实现远程控制
VirtualBox虚拟机在CentOS上如何实现远程控制
小樊
43
2025-11-23 17:04:04
总体思路与网络模式
- 远程控制通常分为两类:命令行的 SSH 和图形界面的 远程桌面(VRDP/VNC/xrdp)。
- 虚拟机网络可选 NAT 或 桥接:
- NAT:默认外部不可直达虚拟机,需要在 VirtualBox 里配置端口转发(如将主机端口映射到虚拟机 22/3389/5901 等)。
- 桥接:虚拟机会获得与宿主机同网段的 IP,可被局域网其他设备直接访问,通常无需端口转发。
方案一 SSH远程控制
- 在 CentOS 客户机安装并启动 SSH 服务:
- 安装:
sudo yum install -y openssh-server
- 启动与开机自启:
sudo systemctl start sshd && sudo systemctl enable sshd
- 网络与访问:
- 桥接:在客户机执行
ip addr 获取 IP,从外部用 ssh 用户名@虚拟机IP -p 22 连接。
- NAT:在 VirtualBox 选中虚拟机 → 设置 → 网络 → 高级 → 端口转发,新增规则:协议 TCP,主机端口(如 2022)→ 子系统端口 22;外部用
ssh 用户名@宿主机IP -p 2022 连接。
方案二 图形界面远程桌面
- 方式 A(推荐,轻量):VNC
- 安装:
sudo yum install -y tigervnc-server
- 首次设密:
vncpasswd(为对应用户设置访问密码)
- 配置 systemd 单元(以显示号 :1 为例):复制并编辑
/usr/lib/systemd/system/vncserver@:1.service,将 User= 设为你的用户名,ExecStart 常用参数如 -depth 24 -geometry 1280x800 :1
- 启动与开机自启:
sudo systemctl daemon-reload && sudo systemctl enable --now vncserver@:1.service
- 防火墙放行:
sudo firewall-cmd --add-port=5901/tcp --permanent && sudo firewall-cmd --reload
- 访问:
- 桥接:
vncviewer 虚拟机IP:5901
- NAT:在端口转发中新增 主机端口(如 5901)→ 子系统端口 5901,然后
vncviewer 宿主机IP:5901
- 方式 B(与 Windows 体验接近):xrdp(RDP)
- 安装与启动:
sudo yum install -y epel-release
sudo yum install -y xrdp
sudo systemctl enable --now xrdp
- 防火墙放行:
sudo firewall-cmd --add-port=3389/tcp --permanent && sudo firewall-cmd --reload
- 访问:
- 桥接:Windows 远程桌面
mstsc → 输入 虚拟机IP:3389
- NAT:端口转发 主机端口(如 3389)→ 子系统端口 3389,然后
mstsc → 输入 宿主机IP:3389
- 方式 C(VirtualBox 自带):VRDP
- 宿主机操作:选中虚拟机 → 设置 → 显示 → 勾选 远程桌面,指定端口(如 3389),启动虚拟机。
- 访问:
- 桥接:
mstsc 虚拟机IP:3389
- NAT:端口转发 主机端口(如 3389)→ 子系统端口 3389,然后
mstsc 宿主机IP:3389
- 说明:VRDP 由宿主机监听,通常无需在客户机安装桌面或额外服务。
常见问题与排查
- 端口未放行:确保 firewalld/iptables 已放行对应端口(如 22/3389/5901),或临时测试可关闭防火墙验证。
- NAT 连不通:检查 VirtualBox 的 端口转发 规则是否正确,主机端口是否被占用;用
ss -lntp | grep <端口> 或 netstat -tulpen | grep <端口> 确认监听。
- 服务未启动:在客户机用
systemctl status sshd/vncserver@:1/xrdp 查看状态与日志,必要时 journalctl -xeu <服务名> 排查。
- 桌面环境缺失:若使用 xrdp/VNC 图形登录,建议安装 GNOME/KDE 等桌面环境,否则登录后可能黑屏或无会话。
- 端口冲突:避免主机端口与系统已有服务冲突(如将 SSH 改为 2022、RDP 改为 13389、VNC 改为 5902 等)。