温馨提示×

centos vnc怎样免密登录

小樊
41
2026-10-05 16:39:19
栏目: 智能运维

在 CentOS 上配置 VNC 免密登录,常见有 两种场景,先说明一下,避免误解:

  1. VNC 自身免密码(连接时不输 VNC 密码)
  2. 系统用户免密码(通过 SSH / 自动登录系统)

下面分别说明。


一、VNC 连接免密码(不输入 VNC 密码)

⚠️ 安全性较低,仅建议内网/测试环境使用

方法 1:使用空密码(不推荐)

编辑 VNC 启动配置(以 tigervnc 为例):

vim ~/.vnc/config

加入:

-securitytypes=None

然后重启 VNC:

vncserver -kill :1
vncserver :1

⚠️ 任何人可直接连入


方法 2:使用密码文件(推荐)

  1. 设置 VNC 密码:
vncpasswd

密码保存在:

~/.vnc/passwd
  1. 客户端连接时指定密码文件:
  • Linux 客户端
vncviewer host:1 -passwd ~/.vnc/passwd
  • Windows(TightVNC / RealVNC)
    • 将 passwd 文件复制过去
    • 客户端选择“使用密码文件”

✅ 安全且可实现“免手动输入密码”


二、CentOS 用户免密码登录(系统层)

场景:VNC 自动登录某个用户

方式 1:配置自动登录(GDM)

编辑:

vim /etc/gdm/custom.conf
[daemon]
AutomaticLoginEnable=True
AutomaticLogin=username

重启:

reboot

方式 2:SSH + VNC(推荐远程方式)

  1. 配置 SSH 免密:
ssh-keygen
ssh-copy-id user@centos
  1. 通过 SSH 隧道连接 VNC:
ssh -L 5901:localhost:5901 user@centos

然后本地连接:

vncviewer localhost:1

✅ 不需要 VNC 密码暴露在外网


三、生产环境推荐方案(安全)

✅ SSH 密钥 + VNC 密码 + 隧道

  • VNC 只监听 127.0.0.1
  • 外部无法直接连接
  • 即使有 VNC 密码也安全

编辑:

vim ~/.vnc/config
localhost

四、常见误区

❌ VNC 本身不能直接“系统账号免密码”
❌ VNC 密码 ≠ Linux 用户密码
❌ 空密码 VNC 很危险


如果你能告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 使用的 VNC(TigerVNC / TightVNC / RealVNC)
  • 是 本地还是远程

我可以给你一份精确配置文件示例。

0 踩