在 Ubuntu 上使用 VNC 时,“加密”通常有两个层面:
下面按常见场景给你讲清楚。
✅ 适合大多数用户,不需要额外证书
VNC 本身(如 5901 端口)不加密,但你可以通过 SSH 把 VNC 流量“包”起来。
vncserver :1
默认监听:
127.0.0.1:5901
ssh -L 5901:localhost:5901 user@ubuntu_ip
localhost:5901
✅ 所有数据都走 SSH(加密)
✅ 不需要开放 VNC 端口到公网
vncpasswd
⚠️ 注意:
如果你用的是 TigerVNC / RealVNC,可以启用 TLS。
vncserver -SecurityTypes TLSVnc -x509key /path/key.pem -x509cert /path/cert.pem :1
客户端需支持 TLS。
x11vnc -ssl -display :0
适合已有 X 会话的情况。
| 方案 | 安全性 | 难度 | 推荐 |
|---|---|---|---|
| SSH 隧道 | ⭐⭐⭐⭐⭐ | 简单 | ✅ |
| VNC 密码 | ⭐ | 简单 | ❌ |
| TLS | ⭐⭐⭐⭐ | 中 | ✅ |
| 公网直连 | ❌ | - | ❌ |
如果你愿意,可以告诉我:
我可以直接给你一份“可复制命令”的配置方案。