在 Ubuntu 上设置 VNC(Virtual Network Computing) 时,默认配置往往不安全(明文传输、无加密、弱认证)。下面按安全等级给你一套实用、可落地的配置方案,从“能用”到“生产级安全”。
✅ 最安全做法(强烈推荐)
VNC + SSH Tunnel(端口转发)
127.0.0.1✅ 次优方案
VNC + 防火墙 + 强密码 + 非默认端口
❌ 不推荐
直接把 VNC 端口(5900/5901)暴露在公网
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common
vncpasswd
⚠️ 注意:
编辑 VNC 启动配置(示例端口 5901):
vncserver -localhost -geometry 1920x1080 -depth 24 :1
或写入配置文件:
# ~/.vnc/config
localhost
geometry=1920x1080
depth=24
在本地电脑执行:
ssh -L 5901:localhost:5901 user@your_server_ip
然后 VNC 客户端连接:
localhost:5901
✅ 优点:
sudo ufw allow from 你的IP to any port 5901
sudo ufw enable
vncserver :5 # 5905
sudo apt remove x11vnc
ps aux | grep vnc
确保不是 root
sudo usermod -s /usr/sbin/nologin vncuser
TigerVNC 支持 TLS,但配置复杂,适合企业环境。
sudo apt install tigervnc-common
配置证书(略复杂,不推荐新手)
sudo apt install xrdp
| 误区 | 说明 |
|---|---|
| VNC 自带加密 | ❌ 默认没有 |
| 只设密码就安全 | ❌ 可被暴力破解 |
| 公网开放 5900 | ❌ 极高风险 |
| root 运行 VNC | ❌ 严重风险 |
✅ 家用 / 远程办公
VNC + SSH Tunnel + 防火墙
✅ 服务器 / 生产环境
xrdp + SSH + 防火墙
如果你愿意,可以告诉我:
我可以给你 一步一步的定制命令,直接复制执行即可 ✅