温馨提示×

ubuntu vnc如何加密

小樊
48
2026-07-12 18:09:54
栏目: 网络安全

在 Ubuntu 上给 VNC 加密,常见做法有 三种,从“最推荐”到“临时应急”依次是:


✅ 一、最推荐:VNC over SSH(安全、简单、通用)

原理:VNC 本身不加密,用 SSH 隧道把 VNC 流量包起来。

1️⃣ 安装 VNC 服务(如未安装)

sudo apt update
sudo apt install tigervnc-standalone-server

2️⃣ 启动 VNC(只监听本地)

vncserver :1 -localhost

-localhost 表示 只监听 127.0.0.1,外部无法直接连

3️⃣ 客户端通过 SSH 建立隧道

Linux / macOS

ssh -L 5901:localhost:5901 user@ubuntu_ip

Windows(MobaXterm / PuTTY)

  • 本地端口:5901
  • 远程:localhost:5901

4️⃣ VNC 客户端连接

localhost:5901

全程加密,无需 VNC 自带 TLS


✅ 二、VNC 自带 TLS/SSL(较复杂)

适合需要 直接暴露 VNC 端口 的场景。

使用 TigerVNC + TLS

  1. 生成证书
openssl req -x509 -newkey rsa:2048 -keyout vnc.key -out vnc.crt -days 365 -nodes
  1. 启动 VNC
vncserver :1 -SecurityTypes TLSVnc -X509Key vnc.key -X509Cert vnc.crt
  1. 客户端必须支持 TLS(如 TigerVNC Viewer)

⚠️ 缺点:

  • 配置复杂
  • 很多 VNC 客户端不支持

✅ 三、VNC over SSH + 无密码(最安全)

VNC 不设密码,只靠 SSH 认证

vncserver :1 -localhost -SecurityTypes None

客户端:

ssh -L 5901:localhost:5901 user@ubuntu_ip

✅ 推荐服务器使用


❌ 不推荐:裸 VNC(无加密)

vncserver :1
  • 密码可被抓包
  • 不适合公网

✅ 不同 VNC 的比较

VNC 是否支持加密 推荐
TigerVNC + SSH ⭐⭐⭐⭐⭐
TigerVNC TLS ⭐⭐⭐
x11vnc 需 SSH ⭐⭐⭐
RealVNC 商业版支持 ⭐⭐

✅ 推荐组合(生产环境)

Ubuntu + TigerVNC + SSH Tunnel

如果你愿意,可以告诉我:

  • Ubuntu 版本
  • 桌面环境(GNOME / XFCE / KDE)
  • 是否公网访问

我可以给你 一步一步的完整配置方案

0