Windows通过VNC连接以图形化界面访问类Linux系统的服务器——以麒麟V10 SP3为例

38 阅读3分钟

概括

通常情况下,我们都是从本地通过SSH连接以命令行界面的方式访问服务器。而在一些特定场景下,需要以图形化界面访问类Linux服务器,该如何操作呢?

本文介绍了一种从本地Windows系统通过VNC工具以图形化界面访问服务器麒麟操作系统的方法。包括在服务器端安装并运行VNC Server服务、在本地安装VNC远程连接工具并发起连接。

0. 环境

本机操作系统:Microsoft Windows 11 专业版 25H2 基于x64的处理器

服务器操作系统:麒麟 V10 SP3 2403 x86_64

[sgt@openclaw ~]$ nkvers    # 查看操作系统版本
############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V10 (Halberd)

Kernel:
4.19.90-89.11.v2401.ky10.x86_64

Build:
Kylin Linux Advanced Server
release V10 SP3 2403/(Halberd)-x86_64-Build20/20240426
#################################################
[sgt@openclaw ~]$ arch  # 查看CPU架构
x86_64

1. 在服务器端配置VNC Server

  1. 查看当前版本对应的yum源 cat /etc/yum.repos.d/kylin_x86_64.repo, ks10-adv-os的baseurl后面对应的链接就是安装包下载地址,例如:update.cs2c.com.cn/NS/V10/V10S…

  2. 下载下面3个包并放到服务器的某个录下,版本号可能不同,源上最新的LTS版本为准:

  • tigervnc-1.10.1-8.p02.ky10.x86_64.rpm
  • tigervnc-server-1.10.1-8.p02.ky10.x86_64.rpm
  • tigervnc-server-minimal-1.10.1-8.p02.ky10.x86_64.rpm
  1. SSH连接到服务器上的上述目录下,以管理员身份按顺序执行下列命令,安装上述3个包,如果版本不同请输入前缀后按tab自动补全就好
sudo rpm -ivh tigervnc-server-minimal-1.10.1-8.p02.ky10.x86_64.rpm
sudo rpm -ivh tigervnc-server-1.10.1-8.p02.ky10.x86_64.rpm
sudo rpm -ivh tigervnc-1.10.1-8.p02.ky10.x86_64.rpm
  1. 输入指令vncserver,初始化运行VNC,此时需要设置VNC连接的密码、只读密码(可选),密码要求4-8位,4种字符混合。若后期想修改该密码,可通过vncpasswd重置

若服务器关闭了防火墙,可以跳过本段,但不论防火墙是否运行,仍然推荐在防火墙上开放5901端口以确保连接:

  1. 在防火墙上永久开放5901的TCP端口sudo firewall-cmd --zone=public --add-port=5901/tcp --permanent
  2. 重启防火墙,使配置生效:sudo firewall-cmd --reload
  3. 查看防火墙放行的端口:sudo firewall-cmd --zone=public --list-all,确认5901端口已经被开放在防火墙上
  1. 将systemd文件拷贝到系统自启动目录:sudo cp ./vncserver@.service /etc/systemd/system/vncserver@:1.service

  2. 设置VNC服务开机自启动:systemctl enable vncserver@:1.service ,屏幕输出Created symlink /etc/systemd/system/multi-user.target.wants/vncserver@:1.service → /etc/systemd/system/vncserver@:1.service.即可

  3. 编辑配置文件:vim /etc/systemd/system/vncserver@:1.service ,修改工作目录、用户名、属组、PIDFile路径,以实际访问的用户名替换其中<USER>部分

  4. 按配置文件要求,重新加载启动VNC服务:

sudo systemctl daemon-reload
sudo systemctl enable vncserver@:1.service
sudo systemctl start vncserver@:1.service
  1. 检查VNC服务: sudo systemctl status vncserver@:1.service,检查5901端口是否正常:sudo netstat -ntlp

2. 在本机安装VNC远程工具

本教程提供2个免费的VNC工具:RealVNC 和 TigerVNC

RealVNC Viewer

Windows系统上成熟、安全的VNC工具,适合多会话连接: RealVNC Viewer官方下载地址

TigerVNC

开源、跨平台、简洁的VNC连接工具(TigerVNC是远程发起工具,winvncs是服务端工具,在本文所述场景,用户在本地windows上下载安装TigerVNC即可): TigerVNC下载地址

3. 发起连接

在本地运行VNC工具,输入目标服务器的IP:端口后即可发起连接。端口号通常是5901,也可以在服务器端通过sudo netstat -ntlp确认