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

本教程说明了如何在CentOS 8上安装和配置Xrdp服务器。

如果您更喜欢开源替代方案,请查看VNC

安装桌面环境

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

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

sudo dnf groupinstall "Server with GUI"

根据您的系统,下载和安装Gnome软件包及其依赖项可能需要一些时间。

安装Xrdp

Xrdp在 EPEL软件存储库中可用。 如果您的系统上未启用EPEL,请通过键入以下内容来启用它:

sudo dnf install epel-release

安装Xrdp软件包:

sudo dnf install xrdp 

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

sudo systemctl enable xrdp --now

您可以通过键入以下内容来验证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

配置文件位于/etc/xrdp目录中。 对于基本的Xrdp连接,您不需要对配置文件进行任何更改。 Xrdp使用默认的X Window桌面,在这种情况下为Gnome。

主要配置文件名为xrdp.ini。 该文件分为几个部分,可让您设置全局配置设置(例如安全性和侦听地址)并创建不同的xrdp登录会话。

无论何时对配置文件进行任何更改,都需要重新启动Xrdp服务:

sudo systemctl restart xrdp

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

配置防火墙

默认情况下,Xrdp侦听所有接口上的端口3389。 如果您在CentOS计算机上运行防火墙(应该始终这样做),则需要添加一条规则以允许Xrdp端口上的流量。

通常,您只希望允许从特定IP地址或IP范围访问Xrdp服务器。 例如,要仅允许192.168.1.0/24范围内的连接,请输入以下命令:

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

要允许从任何地方到3389端口的通信,请使用以下命令。 出于安全原因,强烈建议不要从任何地方访问。

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

为了提高安全性,您可以考虑将Xrdp设置为仅在localhost上侦听,并创建一个 SSH隧道,该隧道将流量从本地计算机从端口3389安全转发到同一端口上的服务器。

另一个安全选项是安装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服务器。

如果您有任何疑问,请随时在下面发表评论。