VNC远程管理需要CentOS系统具备图形桌面环境。若系统未安装图形界面,可通过以下命令安装GNOME桌面环境(默认推荐):
sudo yum groupinstall "GNOME Desktop" -y
安装完成后,重启系统并选择“GNOME”桌面登录。
TigerVNC是CentOS上常用的VNC服务器软件,通过以下命令安装:
sudo yum install tigervnc-server -y
安装完成后,系统会生成VNC服务配置文件模板。
为当前用户设置VNC访问密码(密码长度需为6-8位):
vncpasswd
输入密码后,系统会提示确认。此密码用于后续VNC客户端连接。
复制VNC服务模板文件,创建针对特定用户的配置文件(以用户your_username
、显示号1
为例):
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
sudo vim /etc/systemd/system/vncserver@:1.service
修改以下内容(替换your_username
和your_groupname
为实际用户名和组名):
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[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
[Install]
WantedBy=multi-user.target
说明:
-geometry 1280x800
:设置远程桌面分辨率为1280×800(可根据需求调整);-depth 24
:设置颜色深度为24位(支持真彩色)。重新加载Systemd配置,启动VNC服务并设置为开机自动启动:
sudo systemctl daemon-reload
sudo systemctl start vncserver@:1.service
sudo systemctl enable vncserver@:1.service
通过systemctl status vncserver@:1.service
命令可查看服务状态(显示“active (running)”表示启动成功)。
若系统启用了firewalld
防火墙,需开放VNC对应的端口(显示号1
对应端口5901
,显示号2
对应5902
,依此类推):
sudo firewall-cmd --permanent --add-port=5901/tcp
sudo firewall-cmd --reload
若使用iptables
防火墙,需添加以下规则:
sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT
sudo service iptables save
在远程计算机(如Windows、Mac或另一台Linux)上安装VNC客户端,推荐使用RealVNC Viewer(跨平台支持)或TigerVNC Viewer(开源免费)。
打开VNC客户端,在地址栏输入<CentOS服务器IP地址>:1
(例如192.168.1.100:1
),其中“1”为之前设置的显示号,对应端口5901
。
弹出密码窗口后,输入之前通过vncpasswd
设置的VNC密码,即可连接到CentOS远程桌面。
使用以下命令查看当前运行的VNC会话:
vncserver -list
输出示例:
TigerVNC server sessions:
X DISPLAY # RFB PORT # PROCESS ID
:1 5901 12345
若需终止某个VNC会话(如显示号1
),使用以下命令:
vncserver -kill :1
若需同时支持多个用户或桌面,可启动多个VNC服务实例(如显示号2
):
vncserver :2
对应的端口为5902
,客户端连接地址为<服务器IP>:2
。
为避免VNC密码明文传输,可通过SSH隧道加密连接。在本地计算机上运行以下命令:
ssh -L 5901:localhost:5901 your_username@your_server_ip
然后在VNC客户端中连接localhost:5901
,即可通过SSH隧道安全访问。
建议创建普通用户(如vncuser
)并为其设置VNC密码,避免直接使用root用户远程登录,降低系统安全风险。
通过以上步骤,即可完成CentOS系统的VNC远程管理配置,实现跨平台的图形桌面远程访问。