温馨提示×

Ubuntu VNC如何进行远程培训

小樊
45
2025-12-12 09:27:55
栏目: 智能运维

Ubuntu VNC 远程培训实操指南

一 架构与方案选型

  • 面向培训,建议采用“轻量桌面 + VNC 服务 + SSH 隧道”的组合:在受训机上安装XfceTightVNC,通过 SSH 隧道转发 VNC 端口,既稳定又安全;演示者可用“仅查看”密码进行授课,学员用可操作账号练习。若需浏览器接入,可在受训机加一层noVNC + Websockify,学员无需安装客户端即可参会。

二 快速搭建步骤

  • 受训机准备
    • 安装桌面与 VNC:sudo apt update && sudo apt install -y xfce4 xfce4-goodies tightvncserver
    • 首次启动设密:vncserver(密码长度6–8字符;可设“仅查看”密码)
    • 停止默认实例:vncserver -kill :1
    • 配置启动脚本:编辑 ~/.vnc/xstartup
      • #!/bin/bash xrdb $HOME/.Xresources startxfce4 &
      • chmod +x ~/.vnc/xstartup
    • 以“本地主机绑定”方式启动:vncserver -localhost(仅本机可达,更安全)
  • 学员侧连接
    • 建立 SSH 隧道(Linux/macOS):ssh -L 59000:localhost:5901 -C -N -l <学员用户名> <受训机IP>
    • 使用 VNC Viewer 连接:localhost:59000,输入第 2 步设置的 VNC 密码
  • 授课演示
    • 为讲师创建“仅查看”密码:vncpasswd(在受训机上执行),讲师用只读账号连接,避免误操作
  • 说明
    • 显示端口规则::1 → 5901,:2 → 5902;分辨率可在启动时指定,如 vncserver -geometry 1920x1080 :1。

三 安全与运维

  • 安全加固
    • 始终优先使用SSH 隧道或企业内网直连,避免直接对公网开放 5901/59000 等端口;必要时仅临时放通并配合强口令与密钥登录。
    • 使用“仅查看”密码进行演示,学员用可操作账号练习,降低误触风险。
  • 开机自启与多用户
    • 创建 systemd 服务:/etc/systemd/system/vncserver@.service
      • [Unit] Description=Start TightVNC server at startup After=syslog.target network.target
      • [Service] Type=forking User=<培训账号>; Group=<培训组> WorkingDirectory=/home/<培训账号> PIDFile=/home/<培训账号>/.vnc/%H:%i.pid ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i ExecStop=/usr/bin/vncserver -kill :%i
      • [Install] WantedBy=multi-user.target
    • 启用与启动:sudo systemctl daemon-reload && sudo systemctl enable --now vncserver@1
  • 常见问题
    • 连接被拒绝:确认已用 vncserver -localhost 启动,且本地隧道端口(如59000)未被占用。
    • 黑屏/未进桌面:检查 ~/.vnc/xstartup 是否可执行且包含 startxfce4 &;必要时恢复备份后重启 vncserver。

四 浏览器接入与扩展

  • 在受训机部署 noVNC(便于学员用浏览器参会)
    • 安装:sudo apt install -y git python3-websockify
    • 拉取并启动:
      • git clone https://github.com/novnc/noVNC.git && cd noVNC
      • ./utils/novnc_proxy --vnc localhost:5900
    • 学员访问:http://<受训机IP或域名>:6080,输入 VNC 密码即可(注意 6080/5900 的防火墙放行与内网穿透设置)。

0