Ubuntu 20.04 上的 Xrdp

Ubuntu 20.04 上的 Xrdp

我安装了 Ubuntu 20.04,然后安装了 xrdp。每当我尝试连接时,无论是从另一个 Ubuntu 20.04 机器使用 xfreerdp 或 krdc,还是从 Mac,都会出现黑屏,然后立即断开连接。我确保服务器上没有同时进行任何其他会话。

过了一会儿,我放弃了,并尝试了以下脚本: https://www.c-nergy.be/products.html 没什么区别

这是 /var/log/xrdp.log 的唯一输出

[20200529-18:17:16] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:192.168.0.216 port 45006 
[20200529-18:17:16] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:192.168.0.199 port 3389) 
[20200529-18:17:16] [DEBUG] Closed socket 11 (AF_INET6 :: port 3389) 
[20200529-18:17:16] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem 
[20200529-18:17:16] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem 
[20200529-18:17:16] [DEBUG] TLSv1.3 enabled 
[20200529-18:17:16] [DEBUG] TLSv1.2 enabled 
[20200529-18:17:16] [DEBUG] Security layer: requested 3, selected 1 
[20200529-18:17:16] [INFO ] connected client computer name: coruscant 
[20200529-18:17:16] [INFO ] adding channel item name cliprdr chan_id 1004 flags 0xc0a00000 
[20200529-18:17:16] [INFO ] TLS connection established from ::ffff:192.168.0.216 port 45006: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 
[20200529-18:17:16] [DEBUG] xrdp_00000506_wm_login_mode_event_00000001 
[20200529-18:17:16] [INFO ] Loading keymap file /etc/xrdp/km-00000409.ini 
[20200529-18:17:16] [WARN ] local keymap file for 0x00000409 found and doesn't match built in keymap, using local keymap file 
[20200529-18:17:17] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:192.168.0.199 port 3389) 
[20200529-18:17:17] [DEBUG] xrdp_mm_module_cleanup

非常感谢

答案1

在尝试 RDP 之前,我可以通过在机器上注销桌面会话来解决此问题。

答案2

我在本地服务器上也遇到了同样的问题Ubuntu 20.04(已安装 xubuntu-desktop)我通过执行以下命令修复了这个问题。

# echo "startxfce4" > ~/.Xsession
# chmod +x ~/.Xsession
# sudo systemctl restart xrdp.service

如果您收到警告消息[创建色彩管理设备需要身份验证]当通过 Xrdp 连接 Ubuntu 服务器时,需要执行以下命令来忽略它:

# cd /usr/share/polkit-1/actions/

# vi org.freedesktop.color.policy

Modify <allow_any> settings from auth_admin to yes.

<defaults> 
      <allow_any>yes</allow_any>
      <allow_inactive>no</allow_inactive>
      <allow_active>yes</allow_active>
</defaults>

# reboot the system

答案3

似乎可以允许多个会话,这样您就不必注销或最终黑屏。只需在 startwm.sh 中添加两行即可在我的 20.04 LTS 上工作。

nano /etc/xrdp/startwm.sh

在最顶部添加:

unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR

然后:

sudo systemctl restart xrdp

致谢彼得·班尼特@捉住22只猫, 谢谢!

答案4

1. 删除以前安装的 xrdp:

$ sudo systemctl disable xrdp
$ sudo systemctl stop xrdp

$ sudo apt purge xrdp
$ sudo apt purge xserver-xorg-core
$ sudo apt purge xserver-xorg-input-all
$ sudo apt purge xorgxrdp

2. 重新安装 xrdp 及所需的软件包:

$ sudo apt install xrdp
$ sudo apt install xserver-xorg-core
$ sudo apt install xserver-xorg-input-all
$ sudo apt install xorgxrdp

您还需要授予访问权限证书颁发机构 (SSL) 证书颁发机构 (SSL)申请偏磷酸钠用户。它可供SSL 证书默认分组。

$ sudo adduser xrdp ssl-cert           # add xrdp into ssl-cert group
$ sudo systemctl start xrdp            # start xrdp service
$ systemctl is-active xrdp             # check xrdp state
...
active
$ sudo systemctl enable xrdp           # start xrdp on system start

3.重启系统:

$ sudo reboot

4.防火墙配置:

您需要开放 3389 端口的访问。

$ sudo ufw allow 3389

仅针对您的 IP 地址或网络打开它会更安全。例如:

$ sudo ufw allow from 10.5.5.0/24 to any port 3389

最佳做法是使用 SSH 隧道连接到远程桌面,并让 xRDP 仅监听本地连接。

5. 设置你的 RDP 客户端

请注意,在某些情况下,连接到 xRDP 的用户必须在执行此操作之前注销!

  • 使用任何 RDP 客户端连接到您的服务器。
  • 输入您的 Ubuntu 计算机的用户凭据。
  • 现在您可以看到远程桌面初始屏幕。

相关命令:

$ sudo systemctl status xrdp           # display current xrdp status

$ sudo systemctl start xrdp            # start xrdp service
$ sudo systemctl stop xrdp             # stop xrdp service
$ sudo systemctl restart xrdp          # restart xrdp service

$ sudo systemctl enable xrdp           # enable xrdp on system start
$ sudo systemctl disable xrdp          # disable xrdp on system start

相关内容