在 Debian 服务器上设置远程桌面访问并不是我三年前会做的事情。那时,SSH 就足以应付一切了。但远程工作彻底改变了这一点。
XRDP 使您可以从任何地方通过 GUI 访问您的 Debian 机器。无论您是在家排除故障还是需要向同事展示一些视觉内容,都比尝试通过 Slack 解释终端命令要好。
什么是 XRDP 以及为什么将其用于 Debian 远程桌面?

XRDP 在 Linux 系统上实现 Microsoft 的远程桌面协议。与需要自己的客户端软件的 VNC 不同,RDP 可与内置的 Windows 远程桌面连接配合使用。
对远程桌面解决方案的需求呈爆炸式增长 到 2032 年,全球远程桌面软件市场预计将达到 119.8 亿美元。这反映了远程访问已经变得多么普遍。
这就是为什么我更喜欢 XRDP 而不是替代品的原因:
- 与 Windows 的本机 RDP 客户端配合使用
- 默认加密连接
- 支持多个同时用户
- 比大多数 VNC 实现使用更少的带宽
- 很好地处理剪贴板和文件共享
Debian 运行于 96.3% 的顶级网络服务器,占据Linux服务器市场16%的份额。这种广泛的使用意味着当事情出现问题时需要大量的文档。
Debian RDP 服务器的系统要求
在开始之前您需要做一些事情:
- Debian 10、11 或 12
- 至少 2GB RAM(当我的 1GB 实例不断崩溃时了解到这一点)
- root 或 sudo 访问
- 用于下载的网络连接
- 2GB free disk space minimum
对于云设置, Debian VPS 效果很好。我已经在 DigitalOcean Droplet 和 Linode 实例上进行了测试,没有出现任何问题。
如何在安装 XRDP 之前更新 Debian

始终先更新。我曾经花了两个小时调试包冲突,而一个简单的更新就可以避免这些冲突。
sudo apt update && sudo apt upgrade -y
这会提取最新的软件包信息并应用安全补丁。这 -y 标志跳过确认提示。
如何在 Debian 上安装 XRDP 桌面环境

大多数 Debian 服务器都是无头运行的。您需要一个桌面环境才能使 XRDP 正常工作。
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils -y
我使用 Xfce 是因为它轻量级且在远程连接上稳定。 GNOME 也可以工作,但使用更多资源。这 xfce4-好东西 软件包添加了有用的附加功能,例如计算器和文本编辑器。
在 Debian 服务器上分步安装 XRDP

从 Debian 的存储库安装 XRDP:
sudo apt install xrdp -y
检查是否正确启动:
sudo systemctl status xrdp
你应该看到 活动(运行) 为绿色。如果没有,则安装出现问题。
如何在 Debian 上配置 XRDP 设置和用户会话

XRDP 需要进行一些调整才能顺利工作。默认配置导致我多次遇到问题。
为 Debian XRDP 配置用户会话
为每个需要 RDP 访问的用户创建一个会话文件:
echo "xfce4-session" > ~/.xsession
如果没有这个文件,您在登录后将得到一个空白桌面。我第一次花了很长时间才弄清楚这一点。
如何将 XRDP 用户添加到 SSL-Cert 组
XRDP 需要访问 SSL 证书以实现安全连接:
sudo adduser xrdp ssl-cert
更改后重新启动 XRDP 服务
重新启动服务以获取配置更改:
sudo systemctl restart xrdp
如何在 Debian 上为 RDP 打开端口 3389

RDP 使用端口 3389。您需要在防火墙中打开此端口,同时锁定其他所有内容。
在 Debian 上使用 UFW 防火墙保护 RDP 访问
UFW(简单防火墙)的基本设置更简单:
sudo ufw allow 3389/tcp
为了提高安全性,限制对您的 IP 地址的访问:
sudo ufw allow from YOUR_IP_ADDRESS to any port 3389
代替 您的 IP 地址 与您的实际公共IP。
如何使用 nftables 执行 XRDP 防火墙规则
如果您使用 nftables 而不是 UFW:
sudo nft add rule inet filter input tcp dport 3389 ct state new, established counter accept
在大多数情况下,我更喜欢 UFW,但如果需要,nftables 可以为您提供更精细的控制。
如何编辑 XRDP.ini 以提高安全性和性能
默认 XRDP 设置适用于基本访问,但您可能需要自定义连接设置或安全参数。
编辑主配置文件:
sudo nano /etc/xrdp/xrdp.ini
要考虑的关键设置:
- 安全层=tls – 强制 TLS 加密
- crypt_level=高 – 最高加密级别
- 端口=3389 – 更改此设置以在不同的端口上运行
配置 启动WM.sh 用于稳定的 XRDP 会话
会话启动脚本控制用户连接时发生的情况:
sudo nano /etc/xrdp/startwm.sh
在末尾添加这些行以防止常见的会话问题:
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
exec startxfce4
这些环境变量可能会干扰桌面会话启动。我在尝试运行需要 D-Bus 通信的应用程序时遇到了这个问题。
连接到 Debian RDP 服务器
配置完成后,可以从不同的操作系统直接进行连接。
如何从 Windows 连接到 Debian XRDP
Windows 默认包含 RDP 客户端:
- 搜索“远程桌面连接”
- 输入您的服务器的 IP 地址
- 单击连接
- 输入您的 Debian 用户名和密码
- 当提示输入会话类型时选择“Xorg”
在本地网络上,连接通常会在几秒钟内建立。
如何从 Linux 连接到 Debian XRDP(使用 Remmina)
安装 Remmina,它可以很好地处理 RDP 连接:
sudo apt install remmina remmina-plugin-rdp
Remmina 提供了一个用于管理多个远程连接的 GUI。您可以保存连接配置文件并调整每个连接的显示设置。
保护 Debian RDP 服务器的最佳实践

RDP 具有重大的安全影响。 网络犯罪分子在 90% 的攻击中滥用 RDP 由事件响应团队处理。
如何在 Debian 上为 XRDP 启用 TLS 加密
为加密连接生成自签名证书:
sudo mkdir -p /etc/xrdp/certs
cd /etc/xrdp/certs
sudo openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365
这将创建有效期为一年的证书。在生产环境中使用正确的 CA 证书。
如何在 Debian 上为 RDP 设置 SSH 隧道
为了获得最大的安全性,请通过 SSH 建立 RDP 隧道:
ssh -L 3389:localhost:3389 user@your-debian-server
然后连接到 本地主机:3389 而不是服务器的公共IP。这会加密通过 SSH 隧道的所有 RDP 流量。
将 XRDP 端口从 3389 更改为自定义端口
更改默认端口以减少自动攻击尝试:
sudo nano /etc/xrdp/xrdp.ini
改变 端口=3389 类似的东西 端口=13389,然后重新启动 XRDP。请记住相应地更新您的防火墙规则。
对 Debian 上的 XRDP 问题进行故障排除

XRDP 安装时经常会出现一些问题。
如何解决 Wayland 和 XRDP 兼容性问题
XRDP 无法与 Wayland 显示服务器正常工作。强制系统使用 Xorg:
sudo nano /etc/gdm3/custom.conf
取消注释这一行:
WaylandEnable=false
Wayland 的安全模型与 XRDP 访问显示系统的方式相冲突。这个问题不会很快得到解决。
在 XRDP 中配置多个用户会话
每个用户都需要自己的会话配置:
echo "xfce4-session" | sudo tee /home/username/.xsession
sudo chown username: username /home/username/.xsession
代替 用户名 与实际的用户名。如果没有适当的所有权,会话文件将无法工作。
如何在慢速连接上优化 XRDP 速度

一些调整可提高 RDP 性能,尤其是在较慢的连接上:
- 使用 Xfce 代替 GNOME 或 KDE
- 禁用桌面动画和效果
- 降低远程会话的屏幕分辨率
- 在 RDP 客户端中启用压缩
- 考虑 乌班图VPS or 费多拉 VPS 如果 Debian 不能满足您的需求
最大的性能提升来自于选择轻量级桌面环境。 GNOME 仅桌面就可以使用 500MB 以上的 RAM,而 Xfce 使用大约 200MB。
Debian RDP设置视频【远程桌面服务器安装XRDP】
结论
XRDP 将无头 Debian 服务器转变为可以从任何地方以图形方式管理的服务器。设置过程有其怪癖,但一旦运行,它就非常可靠。
对于生产部署,请考虑托管解决方案,例如 购买 RDP 为您处理复杂性的服务。
保持系统更新并定期监控访问日志。如果您要比较分布,请查看 Debian 与 Ubuntu 看看哪一个更适合您的要求。