Xrdp是Microsoft远程桌面RDP协议的开源实现,可让您以图形方式控制远程系统。 使用RDP,您可以登录到远程计算机并创建真实的桌面会话,就像登录到本地计算机一样。

本教程将说明如何在CentOS 8上安装和配置Xrdp服务器。包括在CnetOS安装Gnome桌面环境,启用EPEL存储库并使用dnf/yum命令安装Xrdp,配置Xrdp使用systemctl命令,使用firewall-cmd命令配置防火墙并打开3389端口,使用SSH隧道创建加密的Xrdp连接,配置Linux/MacOS/Windows连接到Xrdp服务器。如果您更喜欢开源替代方案,请查看VNC

如何在CentOS 8上安装和配置VNC | myfreax
虚拟网络计算(VNC)是一个图形桌面共享系统,可让您使用键盘和鼠标远程控制另一台计算机。本文介绍了在CentOS 8上安装和配置VNC服务器的步骤。我们还将向您展示如何通过SSH tunnel隧道安全地连接到VNC服务器

安装桌面环境

通常,Linux服务器未安装桌面环境。 如果您要连接的计算机没有桌面环境GUI,则第一步是安装桌面环境。 否则,请跳过此步骤。

Gnome是CentOS 8中的默认桌面环境。要在远程计算机上安装Gnome,请运行以下命令。

sudo dnf groupinstall "Server with GUI"

由于Gnome桌面环境比较大,下载和安装Gnome软件包及其依赖可能需要一些时间。

安装Xrdp

Xrdp仅在EPEL存储库中可用。 如果您的系统上未启用EPEL,请运行以下dnf命令启用EPEL存储库

sudo dnf install epel-release

然后运行以下dnf命令安装Xrdp:

sudo dnf install xrdp 

安装过程完成后,启动Xrdp服务并在启动时自动启动:

sudo systemctl enable xrdp --now

您可以运行systemctl命令来验证Xrdp是否正在运行:

sudo systemctl status xrdp

输出看起来像这样:

● xrdp.service - xrdp daemon
   Loaded: loaded (/usr/lib/systemd/system/xrdp.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2020-02-02 18:30:43 UTC; 11s ago
  ...

配置Xrdp

Xrdp配置文件位于/etc/xrdp目录中。基本的Xrdp连接配置已经够用,您不需要对配置文件进行任何更改。Xrdp默认使用X Window桌面会话,在CentOS中为Gnome。

主配置文件名为xrdp.ini也在/etc/xrdp目录中。该文件分为几个部分,可让您全局配置安全性的选项和监听的地址,创建不同的xrdp登录会话。

无论何时对配置文件进行任何更改,都需要重新启动Xrdp服务。如果你修改了Xrdp陪子文件,可运行以下systemctl命令重启Xrdp服务:

sudo systemctl restart xrdp

Xrdp使用startwm.sh文件启动X会话。 如果要使用另一个X Window桌面会话,请编辑此xrdp.ini文件。

配置防火墙

默认情况下,Xrdp监听所有接口/网卡上的3389端口。 如果您在CentOS计算机上运行着防火墙,则需要添加一条规则以允许Xrdp3389端口上的流量。

通常,您只希望允许从指定的IP地址或IP地址网段范围访问Xrdp服务器。 例如,要仅允许192.168.1.0/24网段范围内的连接,请运行以下firewall-cmd命令:

sudo firewall-cmd --new-zone=xrdp --permanent

要允许从任何IP访问到3389端口,请运行以下firewall-cmd命令。 出于安全原因,强烈建议不要从任何地方访问3389端口。

sudo firewall-cmd --add-port=3389/tcp --permanent

为了提高安全性,您可以考虑将Xrdp设置为仅监听localhost/127.0.0.1,然后创建SSH隧道,该隧道将流量从本地计算机端口3389转发到服务器上的同一端口,即389端口。由于SSH协议是加密协议,所以创建SSH隧道会相对安全。

另一个安全通信的选择是安装OpenVPN或者Wireguard并通过专用虚拟私有网络连接到Xrdp服务器。

连接到Xrdp服务器

现在已配置了Xrdp服务器,是时候打开本地Xrdp客户端并连接到远程CentOS 8系统了。

Windows用户可以使用默认的RDP客户端。 在Windows搜索栏中键入remote,然后单击远程桌面连接Remote Desktop Connection。 这将打开RDP客户端。 在计算机字段中,键入远程服务器的IP地址,然后单击连接

在登录屏幕上,输入您的用户名和密码,然后单击确定。登录后,您应该会看到默认的Gnome桌面。您现在可以使用键盘和鼠标从本地计算机开始与远程桌面计算机进行交互。

如果您使用的是macOS,则可以从Mac App Store安装Microsoft远程桌面应用程序。 Linux用户可以使用RDP客户端,例如Remmina或Vinagre。

结论

安装Xrdp服务器可以使您通过易于使用的桌面环境/图形界面从本地台式机管理CentOS 8服务器。如果您有任何疑问,请随时在下面发表评论。