Ubuntu TigerVNC支持加密连接,可通过TLS/SSL证书加密或SSH隧道两种主要方式实现,以下是具体说明:
TigerVNC原生支持通过SSL/TLS证书对传输数据进行加密,需完成“安装证书→配置服务器→启动加密连接”三个步骤:
sudo apt update && sudo apt install tigervnc-standalone-server tigervnc-common -y
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vnc.key -out /etc/ssl/certs/vnc.crt
(注:自签名证书需客户端信任,首次连接时会提示“不受信任的证书”,可选择“继续连接”。)~/.vnc/xstartup),添加-ssl参数及证书路径,指定加密类型:#!/bin/sh
exec /usr/bin/tigervncserver -geometry 1920x1080 -depth 24 -localhost no \
-rfbauth /home/yourusername/.vnc/passwd -rfbport 5900 \
-ssl -cert /etc/ssl/certs/vnc.crt -key /etc/ssl/private/vnc.key
保存后赋予脚本执行权限:chmod +x ~/.vnc/xstartup
vncserver :1(:1表示显示编号,对应端口5901)启动服务,此时VNC连接将通过SSL/TLS加密。vnc://your_server_ip:5900,并在客户端设置中启用“SSL/TLS加密”选项(部分客户端默认开启)。通过SSH隧道将VNC流量转发至本地,实现“端到端”加密,无需修改VNC服务器配置,安全性更高:
sudo apt install openssh-server -y
sudo systemctl start sshd && sudo systemctl enable sshd
5901端口映射至服务器localhost:5901(VNC实际端口为5900+显示编号,如:1对应5901):ssh -L 5901:localhost:5901 your_username@your_server_ip
(注:your_username为服务器登录用户名,your_server_ip为服务器IP地址。)127.0.0.1:5901,连接至本地隧道端口,此时VNC流量将通过SSH加密通道传输。5900+显示编号)的入站流量;若使用SSH隧道,需允许SSH端口(默认22)的流量。vncpasswd命令设置VNC登录密码时,需使用至少8位的复杂密码(包含大小写字母、数字、特殊字符),避免弱密码被暴力破解。