⚠️ 声明:本文为 IT 技术科普与运维经验分享,不构成任何厂商官方文档。涉及生产环境操作请结合企业安全规范与系统文档谨慎执行。
一、什么是 VNC?
VNC(Virtual Network Computing) 是一种远程桌面控制协议,它能让用户通过网络在另一台电脑上看到图形桌面,并像本地一样操作鼠标和键盘。
协议原理:基于 RFB(Remote Framebuffer) 协议,将服务器屏幕内容传到客户端,同时把客户端键鼠事件回传到服务器。
工作模式:
VNC Server:运行在被控端(如麒麟 V10 SP3 服务器)。
VNC Viewer:运行在控制端(运维人员的 PC)。
常见应用:
Linux 桌面远程管理
数据中心运维(需要 GUI 界面时)
教学/远程协助
👉 一句话总结:SSH 给你远程命令行,VNC 给你远程图形桌面。
二、为什么要配置 VNC?
图形化管理
对不熟悉命令行的用户,VNC 提供完整桌面环境,方便操作。
跨平台访问
Windows / Linux / macOS / 手机均可通过 VNC Viewer 登录。
应急手段
当系统配置复杂或 SSH 无法使用时,VNC 是可行的“图形救援方案”。
国产操作系统适配
在 麒麟 V10 SP3 高级服务器版 上,VNC 可以让企业快速接入桌面化运维模式,降低学习成本。
三、VNC 的配置步骤(基于麒麟 V10 SP3)
3.1、检查当前桌面环境
VNC 需要在有桌面环境下才能运行
3.2、安装 VNC 服务端
麒麟 V10 基于 CentOS/Red Hat 内核,可直接用 yum 安装:
sudo yum install tigervnc-server -y
查看已安装的安装包
3.3、配置 VNC 用户和VNC 服务文件
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
设置root用户的远程桌面服务端口,注意root用户和普通用户的家目录的路径不一样
vim /etc/systemd/system/vncserver@:1.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
WorkingDirectory=/root
User=root
Group=root
PIDFile=/root/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -autokill %i
ExecStop=/usr/bin/vncserver -kill %i
Restart=on-success
RestartSec=15
[Install]
WantedBy=multi-user.target
3.4、 设置 VNC 密码
[root@localhost ~]# vncpasswd
# 设置用户root的VNC登录密码
passwd:
Verify:
密码保存路径:~/.vnc/passwd
。
3.5、 启动服务
systemctl daemon-reload
systemctl restart vncserver@\:1.service
systemctl enable vncserver@\:1.service
systemctl status vncserver@\:1.service
3.6、客户端连接
注意放行防火墙端口的5901
默认端口规则:
:1
→ 5901:2
→ 5902依次类推。
连接方式:
vncviewer 192.168.1.100:5901
3.7、客户端下载
https://www.realvnc.com/en/connect/download/viewer/?lai_vid=EWjkeJvgzuNyO&lai_sr=5-9&lai_sl=l
四、常见路径与端口号
配置文件:
/etc/systemd/system/vncserver@:1.service → 用户映射
~/.vnc/xstartup
→ 桌面环境启动脚本
日志文件:
~/.vnc/servername:1.log
→ 会话日志
密码文件:
~/.vnc/passwd
端口号:
VNC 默认从
5900
开始,每个会话 +1例如
:1 → 5901
,:2 → 5902
五、VNC 服务的启动与停止
启动某会话
systemctl start vncserver@:1.service
停止某会话
systemctl stop vncserver@:1.service
查看运行状态
systemctl status vncserver@:1.service
杀死会话
vncserver -kill :1
六、VNC 与 BMC 的区别
👉 总结:
VNC = 软件级远程桌面工具
BMC = 硬件级远程管理入口
在运维中,两者常常配合使用:
平时通过 VNC 做桌面运维;
系统崩溃或未安装时,通过 BMC 远程控制台修复。
七、最佳实践(基于麒麟 V10 SP3)
安全加固
配置防火墙,只允许堡垒机或运维跳板机访问 VNC 端口(5901+)。
使用 SSH 隧道转发 VNC 端口,避免直接暴露。
结合堡垒机
堡垒机作为中间网关,统一控制用户访问。
通过堡垒机可实现操作审计,保证合规性。
与 BMC 协同
BMC 保证“死机也能管”,VNC 提供“桌面化便利”。
双管齐下,构建完善的远程运维体系。
八、结语
在国产操作系统 麒麟 V10 SP3 高级服务器 上,配置 VNC 不仅能满足 远程图形化运维 的需求,还能结合 堡垒机与 BMC 构建更安全、更高可用的远程管理架构:
VNC → 日常图形化远程运维;
BMC → 底层硬件管理与应急控制;
堡垒机 → 提供安全入口与审计。
在今天的远程运维实践中,这三者不是替代关系,而是互补关系。真正的高手,不仅会配置 VNC,还能根据企业安全架构,将 VNC + BMC + 堡垒机 融合到一体化方案中。