一、安装VNC服务器
sudo yum update -y(CentOS 7)或sudo dnf update -y(CentOS 8及以上),确保系统软件包为最新版本。sudo yum install tigervnc-server tigervnc-common -y(CentOS 7)或sudo dnf install tigervnc-server tigervnc-common -y(CentOS 8及以上),TigerVNC是当前CentOS推荐的VNC服务器软件。二、配置VNC密码
运行vncpasswd命令,按照提示输入并确认VNC登录密码(密码需至少8位,包含大小写字母、数字和特殊字符,避免使用默认密码如“123456”)。
三、配置VNC服务文件
sudo cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service(CentOS 7)或sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service(CentOS 8及以上),创建针对用户:1(显示编号)的服务文件。vi)打开/etc/systemd/system/vncserver@:1.service,修改[Service]部分内容,指定用户(如your_username)、组(如your_group)及桌面环境(如GNOME):[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=your_username
Group=your_group
WorkingDirectory=/home/your_username
PIDFile=/home/your_username/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
注意:将your_username、your_group替换为实际用户名和组名,-depth 24指定颜色深度(24位真彩色),-geometry 1280x800指定桌面分辨率。四、启动并启用VNC服务
sudo systemctl daemon-reload,使修改后的服务文件生效。sudo systemctl start vncserver@:1.service,启动your_username用户的VNC服务(显示编号为:1)。sudo systemctl enable vncserver@:1.service,确保系统重启后VNC服务自动启动。五、配置防火墙
VNC默认使用5900 + 显示编号的端口(如显示编号:1对应端口5901),需开放该端口:
sudo firewall-cmd --permanent --add-port=5901/tcp(若使用CentOS 7,需先安装firewalld:sudo yum install firewalld -y并启动:sudo systemctl start firewalld)。sudo firewall-cmd --reload,使规则生效。六、安全加固(必做)
ssh -L 5901:localhost:5901 your_username@your_server_ip -N(your_username为服务器用户名,your_server_ip为服务器IP),然后在客户端VNC Viewer中连接localhost:1(无需暴露VNC端口到公网)。vncpasswd命令),避免使用简单密码。192.168.1.100),执行sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="5901" accept',然后sudo firewall-cmd --reload。~/.vnc/config文件(若不存在则创建),添加alwaysshared=no(禁止多用户共享)、dontdisconnect=yes(防止意外断开)、rfbport=5901(指定端口),并设置SecurityTypes=TLSVnc(启用TLS加密,需提前生成证书)。