在 RHEL/CentOS 7 上启用远程桌面访问的 5 个工具

在本教程中,我将向您展示使您能够访问运行 CentOS/RHEL 的机器上的远程桌面的工具。所有这些应用程序都在客户端-服务器模式下工作。所以你需要在你的远程机器上运行一个服务器端应用程序,然后你就可以从世界各地连接到它。当然,在本参考手册中,我会告诉你如何安全地配置它,这样只有你才能访问你的服务器。

在我们开始之前,您需要通过 SSH 访问您的服务器并获得安装软件的权限。您需要以 root 用户或具有 sudo 权限的用户身份登录。所有命令都将在每个 CentOS 服务器 5/6/7/8 上运行。在开始之前,您需要在服务器上安装桌面环境。

# yum groupinstall 'GNOME Desktop Environment' 'X Window System'

1)VNC

x11vnc – 这三种方法中最简单的远程访问。VNC代表Virtual Network Computing)是一个非常有用的网络图形协议。

您需要启用 EPEL(企业 Linux 的额外软件包)存储库。跑步

# yum -y install epel-release

现在我们可以安装 x11vnc。此命令将安装服务器并解决所有依赖项:

# yum -y install x11vnc

然后我们将使用密码保护服务器:

# x11vnc -storepasswd

Enter VNC password:

Verify password:

Write password to /root/.vnc/passwd? [y]/n y

Password written to: /root/.vnc/passwd

!不要使用简单的密码!

我们现在准备启动服务器:

# x11vnc --reopen --forever -rfbauth ~/.vncpasswd &

您可以检查服务器是否已启动:

# netstat -an | grep 5900

tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN

tcp6 0 0 :::5900 :::* LISTEN

如果没问题,只需尝试使用 vncviewer 连接到它。

# yum -y install vnc
# vncviewer YOUR_SERVER_IP

就这样!现在您可以访问您的桌面了。重新启动后,只需再次 ssh 并再次执行此操作。

x11vnc --reopen --forever -rfbauth ~/.vnc/passwd &

2) TigerVNC服务器

TigerVNC – 是 VNC 的高性能、平台中立的实现

# yum install -y tigervnc-server

让我们复制示例配置并进行编辑:

# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
# vi /etc/systemd/system/vncserver@:1.service

配置示例:

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
Requires=systemd-logind.service

[Service]
Type=oneshot
RemainAfterExit=yes

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l USERNAME -c "/usr/bin/vncserver %i"
ExecStop=/usr/sbin/runuser USERNAME -c '/usr/bin/vncserver -kill %i'

[Install]
WantedBy=multi-user.target

注意:如果要使用相同的 VNC 设置,则必须更改上述配置中的 USERNAME。这是我们用于本教程的配置。

现在我们必须运行 vncpasswd 命令来设置我们的访问密码和/或仅查看密码(允许用户仅查看远程屏幕的密码):

# vncpasswd 
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used

现在启用自动启动服务并重新启动它:

$ systemctl enable vncserver@:1.service
$ systemctl restart vncserver@:1.service

您可以通过键入以下命令检查 vnc 服务状态:

$ systemctl status vncserver@:1.service

如果一切顺利,你应该有类似的终端输出:

$ systemctl status vncserver@:1.service
● vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
   Active: active (exited) since Wed 2020-09-30 22:04:47 CEST; 7s ago
  Process: 3766 ExecStart=/usr/sbin/runuser -l slax -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS)
  Process: 3761 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
 Main PID: 3766 (code=exited, status=0/SUCCESS)

Sep 30 22:04:44 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)...
Sep 30 22:04:47 localhost.localdomain systemd[1]: Started Remote desktop service (VNC).

最后连接到它:

# vncviewer YOUR_SERVER_IP

3) XRDP

XRDP 是一个开源远程桌面协议服务器。要使用 XRDP,您需要已经安装了 VNC 服务。因此,在安装 XRDP 之前,您应该遵循本教程中的第一个或第二个选项。

首先,我们需要安装 EPEL 存储库和 xrdp 服务器:

# yum -y install epel-release
# yum -y install xrdp

现在让我们开始服务:

# systemctl start xrdp.service 

检查它是否正在运行,并将其添加到自动启动中。

# netstat -an | grep 3389 
tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN
# systemctl enable xrdp.service

就这样。现在您可以从任何 Windows 机器连接到您的服务器。

4) 团队查看器

Teamviewer 在标准 repos 中不存在,所以我们需要安装 wget 并下载 TeamViewer rpm 包

# yum -y install wget
# wget https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm

使用以下命令安装它:

# yum install teamviewer.x86_64.rpm

并设置您的密码:

# teamviewer passwd YOUR_PASSWORD
ok
# systemctl start teamviewerd.service

现在您只需要获取您的 id 即可连接:

# teamviewer –info
TeamViewer ID: 9XXXXXXX7

尝试使用您之前设置的此 ID 和密码连接到它:

5) FreeNX

FreeNX 是基于 NoMachine 的企业级开源技术的远程访问解决方案。如果您正是希望此工具获得远程访问,您可以考虑升级到云版本。

首先,我们需要为 Centos 6 添加 e EPEL + nux-dextop 存储库:

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm

对于 Centos 7

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

安装服务器和代理:

# yum install freenx-server nxagent 

启用 passdb 身份验证:

# echo 'ENABLE_PASSDB_AUTHENTICATION="1"' >> /etc/nxserver/node.conf

现在我们需要为远程访问创建用户并为他分配密码:

# /usr/libexec/nx/nxserver --adduser bob 
NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: not detected)
NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: not detected)
NX> 716 Public key added to: /home/bob/.ssh/authorized_keys2
NX> 1001 Bye.
NX> 999 Bye

#/usr/libexec/nx/nxserver --passwd bob 
NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: not detected)
New password:
Password changed.
NX> 999 Bye

现在我们将在您的机器上安装 epel-repos 和 opennx 客户端:

# yum install opennx

启动 opennx 向导后,您将被询问会话名称、服务器地址和端口。最重要的是设置您的密钥。您需要从服务器的 /etc/nxserver/client.id_dsa.key 复制密钥并将其粘贴到客户端会话属性的常规选项卡中。

翻译:一粒云,原文来源:https://linoxide.com/tools-enable-remote-desktop-access-rhel-centos-7/

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注