一、前提准备 在CentOS上实现VNC远程协助前,需确保系统已安装图形界面(如GNOME)。若未安装,可通过以下命令安装GNOME桌面环境(以CentOS 7/8为例):
sudo yum groupinstall "GNOME Desktop" -y
安装完成后,重启系统并选择“GNOME”桌面登录。
二、安装VNC服务器
使用yum包管理器安装TigerVNC(CentOS推荐的VNC服务器):
sudo yum install tigervnc-server -y
三、配置VNC服务器
运行以下命令为用户设置VNC访问密码(密码需至少6位,仅用于VNC连接,与系统密码无关):
vncpasswd
输入密码并确认,密码会加密保存在~/.vnc/passwd文件中。
VNC服务需通过Systemd管理(开机自启、启动/停止服务)。复制默认模板并修改为当前用户(如your_username):
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
sudo vim /etc/systemd/system/vncserver@:1.service
修改[Service]部分,指定用户、桌面环境及分辨率(如1280x800):
[Service]
Type=forking
User=your_username
Group=your_groupname
WorkingDirectory=/home/your_username
ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -geometry 1280x800 -depth 24 :%i
ExecStop=/usr/bin/vncserver -kill :%i
PIDFile=/home/your_username/.vnc/%H%i.pid
保存并退出(:wq)。
编辑用户目录下的~/.vnc/xstartup文件,指定启动的桌面环境(如GNOME):
vim ~/.vnc/xstartup
注释掉默认的xterm和twm行,添加以下内容:
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /etc/X11/xinit/xinitrc
保存后赋予可执行权限:
chmod +x ~/.vnc/xstartup
四、启动VNC服务并设置开机自启
重新加载Systemd配置,启动VNC服务(显示编号:1对应端口5901):
sudo systemctl daemon-reload
sudo systemctl start vncserver@:1.service
设置开机自启:
sudo systemctl enable vncserver@:1.service
五、配置防火墙
若系统启用了firewalld防火墙,需开放VNC端口(默认5901,对应显示编号:1):
sudo firewall-cmd --add-port=5901/tcp --permanent
sudo firewall-cmd --reload
若使用iptables,可添加以下规则:
sudo iptables -A INPUT -p tcp --dport 5901 -j ACCEPT
sudo service iptables save
sudo service iptables restart
六、客户端连接
在远程计算机(如Windows)上安装VNC客户端(如TigerVNC Viewer、RealVNC Viewer),输入CentOS服务器的IP地址:端口号(如192.168.1.100:5901),点击“连接”。输入之前设置的VNC密码,即可远程访问CentOS桌面。
七、安全性增强(可选但重要)
ssh -L 5901:localhost:5901 your_username@your_server_ip
然后在VNC客户端中连接localhost:5901,输入VNC密码即可。/etc/systemd/system/vncserver@:1.service文件,将:%i改为:2(对应端口5902),并更新防火墙规则。192.168.1.0/24):sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="5901" accept' --permanent
sudo firewall-cmd --reload