Ubuntu VNC 隐私保护实用方案
一 加密传输优先
ssh -L 5901:localhost:5901 user@your_server_ip,随后用 VNC 客户端连接 localhost:5901。这样 VNC 流量被封装在 SSH(端口 22) 中,避免明文暴露;服务器端建议仅开放 22 并关闭直接对 5900/5901 的外部访问。适合绝大多数公网与内网场景。tightvncserver 与 stunnel4,用 OpenSSL 生成证书后配置 stunnel 监听 5900 并转发到 127.0.0.1:5900,客户端连接 5900 的 TLS 端口。-ssl -cert /path/vnc.crt -key /path/vnc.key 参数,客户端使用支持 SSL 的 VNC Viewer 连接。二 认证与会话控制
vncpasswd 生成 ~/.vnc/passwd,确保复杂度;部分客户端(如 macOS 内置 VNC)要求必须设置密码。三 网络与系统加固
四 不同桌面的注意事项
五 快速配置示例
vncserver :1 或 tightvncserver :1)。ssh -L 5901:localhost:5901 user@server,随后用 VNC Viewer 连接 localhost:5901。sudo apt install tightvncserver stunnel4sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vnc.key -out /etc/ssl/certs/vnc.crt/etc/stunnel/stunnel.conf:[vnc]
accept = 5900
connect = 127.0.0.1:5900
cert = /etc/ssl/certs/vnc.crt
key = /etc/ssl/private/vnc.key
verify = 0
sudo systemctl start stunnel4 && sudo systemctl enable stunnel4