CentOS VNC网络配置指南
首先确保系统已更新,然后安装TigerVNC服务器(常用且稳定的VNC解决方案):
sudo yum update -y
sudo yum install tigervnc-server -y
为VNC连接创建专用密码(至少6位,区分大小写):
vncpasswd
密码将加密存储在用户主目录的~/.vnc/passwd文件中(非系统用户密码)。
复制系统默认的VNC服务模板,创建用户专属配置文件(以用户your_username为例):
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
sudo vi /etc/systemd/system/vncserver@:1.service
修改以下内容(关键参数说明):
root或普通用户);/home/your_username);:1对应%H:%i.pid中的:1);-depth 24 -geometry 1280x800参数(设置颜色深度和分辨率,可选)。示例配置:
[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=your_username
Group=your_username
WorkingDirectory=/home/your_username
PIDFile=/home/your_username/.vnc/%H:1.pid
ExecStartPre=-/usr/bin/vncserver -kill :1 > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :1 -depth 24 -geometry 1280x800
ExecStop=/usr/bin/vncserver -kill :1
[Install]
WantedBy=multi-user.target
编辑用户主目录下的.vnc/xstartup文件(决定远程桌面的外观和功能):
vi ~/.vnc/xstartup
根据桌面环境选择以下配置(以GNOME为例,需提前安装gnome-session):
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
vncconfig -iconic &
exec /usr/bin/gnome-session &
注意:修改后需赋予可执行权限:
chmod +x ~/.vnc/xstartup
加载systemd配置,启动VNC服务,并设置为开机自动启动:
sudo systemctl daemon-reload
sudo systemctl start vncserver@:1.service
sudo systemctl enable vncserver@:1.service
CentOS默认使用firewalld作为防火墙管理工具,需开放VNC端口(显示编号:1对应端口5901,:2对应5902,依此类推):
sudo firewall-cmd --permanent --add-port=5901/tcp # 开放5901端口(:1会话)
sudo firewall-cmd --reload # 重新加载防火墙规则
验证端口是否开放:
sudo firewall-cmd --list-all | grep 5901
若输出包含5901/tcp,则表示配置成功。
若系统启用了SELinux,需调整上下文并创建自定义策略:
sudo chcon -Rt svirt_sandbox_file_t ~/.vnc # 设置VNC目录的SELinux上下文
sudo ausearch -c 'vncserver' --raw | audit2allow -M my-vnc-server # 生成策略模块
sudo semodule -i my-vnc-server.pp # 安装策略模块
为避免VNC密码明文传输,可通过SSH隧道加密连接(客户端操作):
ssh -L 5901:localhost:5901 your_username@your_server_ip
然后在VNC客户端中连接localhost:1(无需暴露VNC端口到公网)。
在远程计算机上安装VNC客户端(如TigerVNC Viewer、RealVNC Viewer),输入服务器IP地址和显示编号(如your_server_ip:1),然后输入之前设置的VNC密码即可连接。
:1、:2),避免端口冲突;