Debian Bookworm 最新升級後不再有 xrdp 存取權限

Debian Bookworm 最新升級後不再有 xrdp 存取權限

在我的伺服器上,我運行了最近安裝的 Debian 測試(Bookworm,5.16.0-6-amd64),我今天升級了它。升級所有軟體包後,我無法再將 Win-RDP 放入盒子中。 Sesman 連接正常,但 UNIX 套接字在幾分鐘後逾時。 Xrdp 在升級之前運作得很好,防火牆不會成為問題,而且我一直使用單一登入。

以下是 /var/log/xrdp.log 中的兩個相關部分:

[20220408-15:13:05] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20220408-15:13:05] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[20220408-15:13:05] [ERROR] Cannot read private key file /etc/xrdp/key.pem: Permission denied
[20220408-15:13:05] [ERROR] libxrdp_force_read: header read error
[20220408-15:13:05] [ERROR] Processing [ITU-T T.125] Connect-Initial failed
[20220408-15:13:05] [ERROR] [MCS Connection Sequence] receive connection request failed
[20220408-15:13:05] [ERROR] xrdp_sec_incoming: xrdp_mcs_incoming failed
[20220408-15:13:05] [ERROR] xrdp_rdp_incoming: xrdp_sec_incoming failed
[20220408-15:13:05] [ERROR] xrdp_process_main_loop: libxrdp_process_incoming failed
[20220408-15:13:05] [ERROR] xrdp_iso_send: trans_write_copy_s failed
[20220408-15:13:05] [ERROR] Sending [ITU T.125] DisconnectProviderUltimatum failed

[20220408-15:30:39] [INFO ] connecting to sesman ip 127.0.0.1 port 3350
[20220408-15:30:39] [INFO ] xrdp_wm_log_msg: sesman connect ok
[20220408-15:30:39] [INFO ] sesman connect ok
[20220408-15:30:39] [INFO ] sending login info to session manager, please wait...
[20220408-15:30:39] [INFO ] xrdp_wm_log_msg: login successful for display 10
[20220408-15:30:39] [INFO ] login successful for display 10
[20220408-15:30:39] [INFO ] loaded module 'libxup.so' ok, interface size 10296, version 4
[20220408-15:30:39] [INFO ] started connecting
[20220408-15:30:39] [INFO ] lib_mod_connect: connecting via UNIX socket
[20220408-15:34:09] [INFO ] connection problem, giving up
[20220408-15:34:09] [INFO ] some problem

我在 上發現了一個相關問題樹莓派論壇但切換到 VNC 並不能解決問題,而且其他建議對我來說看起來不專業。

有沒有辦法深入研究 UNIX 套接字「一些問題」?知道「權限被拒絕」錯誤是關於什麼的嗎?檔案權限在 xrdp 運作正常的舊伺服器上是相同的。所以我的猜測是還缺少其他東西。

任何想法?

我還添加了 systemctl 狀態:

# systemctl status xrdp

● xrdp.service - xrdp daemon
     Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-04-08 15:42:18 CEST; 1h 13min ago
       Docs: man:xrdp(8)
             man:xrdp.ini(5)
    Process: 774 ExecStartPre=/bin/sh /usr/share/xrdp/socksetup (code=exited, status=0/SUCCESS)
    Process: 789 ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS (code=exited, status=0/SUCCESS)
   Main PID: 805 (xrdp)
      Tasks: 3 (limit: 76942)
     Memory: 13.0M
        CPU: 59ms
     CGroup: /system.slice/xrdp.service
             ├─  805 /usr/sbin/xrdp
             └─67212 /usr/sbin/xrdp

Apr 08 16:55:30 server2 xrdp[67211]: [ERROR] xrdp_rdp_incoming: xrdp_sec_incoming failed
Apr 08 16:55:30 server2 xrdp[67211]: [ERROR] xrdp_process_main_loop: libxrdp_process_incoming failed
Apr 08 16:55:30 server2 xrdp[67211]: [ERROR] xrdp_iso_send: trans_write_copy_s failed
Apr 08 16:55:30 server2 xrdp[67211]: [ERROR] Sending [ITU T.125] DisconnectProviderUltimatum failed
Apr 08 16:55:30 server2 xrdp[67212]: [ERROR] Cannot read private key file /etc/xrdp/key.pem: Permission denied
Apr 08 16:55:30 server2 xrdp[67212]: [WARN ] Received [MS-RDPBCGR] TS_UD_HEADER type 0xc006 is unknown (ignored)
Apr 08 16:55:30 server2 xrdp[67212]: [WARN ] Received [MS-RDPBCGR] TS_UD_HEADER type 0xc00a is unknown (ignored)
Apr 08 16:55:30 server2 xrdp[67212]: [WARN ] Received [MS-RDPBCGR] TS_UD_HEADER type 0xc008 is unknown (ignored)
Apr 08 16:55:31 server2 xrdp[67212]: [WARN ] xrdp_caps_process_codecs: unknown codec id 5
Apr 08 16:55:31 server2 xrdp[67212]: [WARN ] local keymap file for 0x00000807 found and doesn't match built in keymap, using local keymap file

# systemctl status xrdp-sesman

● xrdp-sesman.service - xrdp session manager
     Loaded: loaded (/lib/systemd/system/xrdp-sesman.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-04-08 15:42:17 CEST; 1h 13min ago
       Docs: man:xrdp-sesman(8)
             man:sesman.ini(5)
    Process: 766 ExecStart=/usr/sbin/xrdp-sesman $SESMAN_OPTIONS (code=exited, status=0/SUCCESS)
   Main PID: 771 (xrdp-sesman)
      Tasks: 1 (limit: 76942)
     Memory: 1.8M
        CPU: 72ms
     CGroup: /system.slice/xrdp-sesman.service
             └─771 /usr/sbin/xrdp-sesman

Apr 08 16:55:41 server2 xrdp-sesman[771]: [ERROR] sesman_data_in: scp_process_msg failed
Apr 08 16:55:41 server2 xrdp-sesman[771]: [ERROR] sesman_main_loop: trans_check_wait_objs failed, removing trans

更新:

我嘗試清除並重新安裝 xrdp,但無法再安裝 xrdp:

# apt install xrdp

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package xrdp is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'xrdp' has no installation candidate

有什麼建議嗎?

更新二:

我不確定根本原因是什麼,我將答案留給對 Linux 有更多了解的人。

這就是我所做的。由於 xrdp 過去(現在仍然是...)不再可用,Debian:testing我將其添加Debian:unstable到我的軟體包列表中並固定到 Debian:testing。這樣我就可以重新安裝xrdp。但令我失望的是,我仍然無法將 RDP 放入盒子中。那是一週前的事了。

今天我運行apt update && apt upgrade並重新啟動了盒子,現在 RDP 又可以正常工作了!不確定到底是什麼解決了問題。我以為我之前也嘗試過重新啟動。所以從我這邊開始一切都很好。

相關內容