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

本教程描述了如何在Debian 10 Linux上安装和配置Xrdp服务器。

如果您正在寻找用于远程桌面访问的开源解决方案,则应选中VNC。

安装桌面环境

通常,Linux服务器默认情况下没有安装桌面环境。第一步是安装X11和桌面环境,该环境将充当Xrdp的后端。

Debian存储库中有几种可用的桌面环境(DE)。我们将安装Xfce。它是一种快速,稳定且轻巧的桌面环境,非常适合在远程服务器上使用。如果您喜欢其他桌面环境(例如Gnome),则可以安装它而不是Xfce。

以超级用户或具有sudo特权的用户身份输入以下命令,以在服务器上安装Xfce:

sudo apt update
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

根据您的系统和连接,下载和安装Xfce软件包将需要一些时间。

安装Xrdp

Xrdp软件包可在标准Debian存储库中获得。要安装它,请运行:

sudo apt install xrdp 

安装过程完成后,该服务将自动启动。您可以通过键入以下命令来验证Xrdp服务是否正在运行:

sudo systemctl status xrdp

输出将如下所示:

● xrdp.service - xrdp daemon
   Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-04-01 21:19:11 UTC; 4s ago
  ...

默认情况下,Xrdp使用的/etc/ssl/private/ssl-cert-snakeoil.key文件只有属于“ ssl-cert”组的用户才能读取。执行以下命令将xrdp用户添加到组中:

sudo adduser xrdp ssl-cert  

而已。Xrdp已安装在您的Debian系统上。

配置Xrdp

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

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

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

sudo systemctl restart xrdp

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

配置防火墙

 

默认情况下,Xrdp侦听3389所有接口上的端口。如果您应该在Debian服务器上运行防火墙,那么您必须添加一条规则,该规则将在Xrdp端口上启用流量。

假设您使用ufw管理防火墙,请运行以下命令以允许从特定IP地址或IP范围访问Xrdp服务器,在本示例中192.168.1.0/24:

sudo ufw allow from 192.168.1.0/24 to any port 3389

如果要允许从任何地方访问(出于安全考虑,强烈建议不要这样做),请运行:

sudo ufw allow 3389

如果使用nftable筛选到系统的连接,请通过发出以下命令来打开必要的端口:

sudo nft add rule inet filter input tcp dport 3389 ct state new,established counter accept

为了提高安全性,您可以考虑将Xrdp设置为仅在localhost上侦听,并创建SSH隧道以安全地将流量从端口3389上的本地计算机转发到同一端口上的服务器。另一个安全选项是安装OpenVPN并通过专用网络连接到Xrdp服务器。

连接到Xrdp服务器

现在,您已经设置了Xrdp服务器,是时候打开Xrdp客户端并连接到服务器了。

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

get-45get-45

在登录屏幕上,输入您的用户名和密码,然后单击“确定”。

get-47get-47

登录后,您应该看到默认的Xfce桌面。它看起来应该像这样:

get-46get-47

现在,您可以使用键盘和鼠标从本地计算机开始与远程XFCE桌面进行交互。

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