在Ubuntu上限制TigerVNC访问权限可通过以下方式实现:
配置IP访问控制
编辑~/.vnc/config文件(不存在则创建),添加以下内容限制特定IP访问:
localhost = 127.0.0.1 # 仅允许本地连接
# 或指定允许的IP段
allow=192.168.1.100
deny=*
使用防火墙规则
若使用ufw,允许特定IP访问VNC端口(默认5901):
sudo ufw allow from 192.168.1.100 to any port 5901 # 允许指定IP
sudo ufw deny 5901/tcp # 拒绝其他IP(需在允许规则前配置)
sudo ufw reload
限制用户权限
root用户,创建普通用户并加入sudo组:sudo adduser username
sudo usermod -aG sudo username
/etc/systemd/system/vncserver@:1.service配置文件,指定运行VNC的用户和组:[Service]
User=your_username
Group=vncusers # 需提前创建该用户组
启用SSH隧道加密
通过SSH隧道转发VNC端口,避免直接暴露:
ssh -L 5901:localhost:5901 username@your_server_ip # 本地端口5901转发到服务器
禁用图形加速(可选)
编辑~/.vnc/xstartup文件,添加以下内容减少显卡依赖:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
注意:修改配置后需重启VNC服务生效:
vncserver -kill :1 # 先停止现有会话
vncserver :1 # 重新启动