在 Ubuntu 上给 VNC 加密,常见做法有 三种,从“最推荐”到“临时应急”依次是:
原理:VNC 本身不加密,用 SSH 隧道把 VNC 流量包起来。
sudo apt update
sudo apt install tigervnc-standalone-server
vncserver :1 -localhost
-localhost表示 只监听 127.0.0.1,外部无法直接连
ssh -L 5901:localhost:5901 user@ubuntu_ip
5901localhost:5901localhost:5901
✅ 全程加密,无需 VNC 自带 TLS
适合需要 直接暴露 VNC 端口 的场景。
openssl req -x509 -newkey rsa:2048 -keyout vnc.key -out vnc.crt -days 365 -nodes
vncserver :1 -SecurityTypes TLSVnc -X509Key vnc.key -X509Cert vnc.crt
⚠️ 缺点:
VNC 不设密码,只靠 SSH 认证
vncserver :1 -localhost -SecurityTypes None
客户端:
ssh -L 5901:localhost:5901 user@ubuntu_ip
✅ 推荐服务器使用
vncserver :1
| VNC | 是否支持加密 | 推荐 |
|---|---|---|
| TigerVNC + SSH | ✅ | ⭐⭐⭐⭐⭐ |
| TigerVNC TLS | ✅ | ⭐⭐⭐ |
| x11vnc | 需 SSH | ⭐⭐⭐ |
| RealVNC | 商业版支持 | ⭐⭐ |
Ubuntu + TigerVNC + SSH Tunnel
如果你愿意,可以告诉我:
我可以给你 一步一步的完整配置方案 ✅