如何在 CentOS 和 RHEL 中安装和配置 VNC 服务器
在本指南中,我们将介绍如何在 CentOS 7/8 和 RHEL 9/8/7 桌面中安装和配置 VNC 远程访问版本通过 tigervnc-server 程序访问远程桌面计算机。
VNC(虚拟网络计算)是一种服务器-客户端协议,允许用户帐户使用图形用户界面提供的资源远程连接和控制远程系统。
与其他直接连接到运行时桌面的VNC服务器(例如VNC X或Vino)不同,tigervnc-vncserver > 使用不同的机制为每个用户配置独立的虚拟桌面。
要求
- CentOS 8 安装截图
- CentOS 7安装过程
- 如何免费安装 RHEL 9
- 如何免费安装 RHEL 8
- RHEL 7 安装过程
步骤1:在CentOS上安装和配置VNC
1. Tigervnc-server 是一个执行 Xvnc 服务器并启动 Gnome 或其他桌面的并行会话的程序VNC 桌面上的环境。
同一用户可以从多个 VNC 客户端访问已启动的 VNC 用户会话。为了在 CentOS/RHEL 中安装 TigerVNC 服务器,请打开终端会话并使用 root 权限发出以下 yum 命令。
sudo yum install tigervnc-server
2.安装完程序后,以要运行VNC程序的用户身份登录,并在终端中发出以下命令以配置VNC 服务器的密码。
请注意,密码的长度必须至少为六个字符。
su - your_user
vncpasswd
3. 接下来,通过放置在 systemd 目录树中的守护程序配置文件为您的用户添加 VNC 服务配置文件。为了复制 VNC 模板文件,您需要以 root 权限运行以下 cp 命令。
如果您的用户没有被授予 sudo 权限,请直接切换到 root 帐户或从具有 root 权限的帐户运行命令。
cp /lib/systemd/system/[email /etc/systemd/system/vncserver@:1.service
4. 在下一步中,编辑从 /etc/systemd/system/ 目录复制的 VNC 模板配置文件,并替换以下值以反映您的用户,如下所示样本。
@
符号后的 1
值表示显示编号(端口 5900+display
)。此外,对于每个启动的 VNC 服务器,端口 5900 将增加 1。
vi /etc/systemd/system/vncserver@\:1.service
将以下行添加到文件 vncserver@:1.service。
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=tecmint
Group=tecmint
WorkingDirectory=/home/tecmint
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %i -geometry 1280x1024
PIDFile=/home/tecmint/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
5.对VNC服务文件进行适当的更改后,重新加载systemd系统初始化程序以获取新的vnc配置文件并启动TigerVNC服务器。
另外,检查 VNC 服务状态并通过发出以下命令在系统范围内启用 VNC 守护程序。
systemctl daemon-reload
systemctl start vncserver@:1
systemctl status vncserver@:1
systemctl enable vncserver@:1
6. 要列出VNC服务器拥有的处于监听状态的开放端口,请运行ss命令,该命令用于显示网络套接字。由于您只启动了一个 VNC 服务器实例,因此第一个开放端口是 5901/TCP。
同样,ss 命令必须以 root 权限执行。如果您为不同的用户并行启动其他 VNC 实例,则第二个用户的端口值为 5902,第三个用户的端口值为 5903,依此类推。端口 6000+ 用于允许 X 应用程序连接到 VNC 服务器。
ss -tulpn| grep vnc
7. 为了允许外部 VNC 客户端连接到 VNC 服务器,您需要确保允许正确的 VNC 开放端口通过防火墙。
如果仅启动一个 VNC 服务器实例,您只需通过发出以下命令来打开第一个分配的 VNC 端口:5901/TCP,即可在运行时应用防火墙配置。
firewall-cmd --add-port=5901/tcp
firewall-cmd --add-port=5901/tcp --permanent
步骤2:通过VNC客户端连接CentOS桌面
8. 作为一种独立于平台的协议,远程图形用户界面 VNC 连接可以从几乎任何具有 GUI 和专用 VNC 客户端的操作系统执行。
RealVNC VNC 查看器是基于 Microsoft 的操作系统中使用的一种流行的 VNC 客户端,它与 Linux TigerVNC 服务器完全兼容。
为了通过 VNC 协议从 Microsoft 操作系统远程连接到 CentOS 桌面,请打开 VNC Viewer 程序,添加 CentOS VNC 服务器的 IP 地址和端口号,然后按[输入]键。
建立 VNC 连接后,屏幕上应显示一条警告,指出连接未加密,如下面的屏幕截图所示。
9.为了绕过警告,点击继续按钮,在第2点添加VNC服务器的密码设置,您应该可以远程连接到CentOS桌面配置为运行 VNC 服务器实例的用户。
10. 如果屏幕上出现新的身份验证消息,并且您的用户没有 root 权限,只需点击取消按钮即可继续使用 CentOS桌面,如下图所示。
请注意,服务器和客户端之间建立的 VNC 通信以及交换的任何数据(密码除外)都在未加密的通道上运行。为了加密和保护 VPN 数据传输,首先您需要设置安全 SSH 隧道并通过 SSH 隧道运行任何后续 VPN 流量。
11.为了通过VNC协议从其他CentOS桌面远程连接到CentOS桌面,首先通过发出以下命令确保您的系统上安装了vinagre软件包。
sudo yum install vinagre
12.要打开vinagre实用程序,请转到应用程序 -> 实用程序 -> 远程桌面查看器,如下面的屏幕截图所示。
13.要远程连接到 CentOS 桌面,请点击连接按钮,从列表中选择VNC协议并添加IP地址 和远程 VNC 服务器的端口(5900+显示号)。另外,请提供 VNC 用户的密码设置,如以下屏幕截图所示。
14. 另一种适用于基于 Linux 的平台的流行 VNC 客户端是 Remmina,这是一种远程桌面客户端,特别用于运行 GNOME 桌面环境的基于 Debian 的发行版。
要在基于 Debian 的发行版中安装 Remmina 远程桌面 客户端,请发出以下命令。
sudo apt-get install remmina
步骤 3:在 CentOS 上配置多个 VNC 会话
15. 如果您需要在同一用户下运行新的并行 VNC 会话,请打开终端控制台,使用要启动新 VNC 会话的用户登录,然后执行以下命令。
当您首次启动服务器时,系统会要求您为此会话提供新密码。但是,请注意,此会话以您登录的用户权限运行,并且独立于启动的 systemd VNC 服务器会话。
vncserver
16. 新的 VNC 会话将打开下一个可用的基于 VNC 的端口(本例中显示5900+3)。要显示打开的端口,请在没有 root 权限的情况下执行 ss 命令,如下面的摘录所示。它将仅列出您的用户所启动的 VNC 会话。
ss -tlpn| grep Xvnc
17. 现在,使用这个新的 VNC 会话远程连接到 CentOS 桌面,并在 VNC 客户端中提供 IP:端口组合 (192.168.1.23:5903),如下图所示。
要停止使用这些登录用户权限启动的 VNC 服务器实例,请在没有任何 root 权限的情况下发出以下命令。此命令将销毁仅由指定它们的用户拥有的所有启动的 VNC 实例。
su - your_user
killall Xvnc
就这样!您现在可以访问 CentOS 系统并使用操作系统提供的图形用户界面执行管理任务。