温馨提示×

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 等)。

0