在 CentOS 上配置 VNC 免密登录,常见有 两种场景,先说明一下,避免误解:
下面分别说明。
⚠️ 安全性较低,仅建议内网/测试环境使用
编辑 VNC 启动配置(以 tigervnc 为例):
vim ~/.vnc/config
加入:
-securitytypes=None
然后重启 VNC:
vncserver -kill :1
vncserver :1
⚠️ 任何人可直接连入
vncpasswd
密码保存在:
~/.vnc/passwd
vncviewer host:1 -passwd ~/.vnc/passwd
passwd 文件复制过去✅ 安全且可实现“免手动输入密码”
编辑:
vim /etc/gdm/custom.conf
[daemon]
AutomaticLoginEnable=True
AutomaticLogin=username
重启:
reboot
ssh-keygen
ssh-copy-id user@centos
ssh -L 5901:localhost:5901 user@centos
然后本地连接:
vncviewer localhost:1
✅ 不需要 VNC 密码暴露在外网
✅ SSH 密钥 + VNC 密码 + 隧道
127.0.0.1编辑:
vim ~/.vnc/config
localhost
❌ VNC 本身不能直接“系统账号免密码”
❌ VNC 密码 ≠ Linux 用户密码
❌ 空密码 VNC 很危险
如果你能告诉我:
我可以给你一份精确配置文件示例。