Debian Bookworm의 최신 업그레이드 이후 더 이상 xrdp 액세스가 없습니다.

Debian Bookworm의 최신 업그레이드 이후 더 이상 xrdp 액세스가 없습니다.

내 서버에서는 최근에 설치된 데비안 테스트(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

어떤 제안이라도 있나요?

업데이트 II:

근본 원인이 무엇인지 정확히 확신할 수 없으며 Linux에 대한 통찰력이 더 많은 사람에게 답변을 열어 둡니다.

내가 한 일은 다음과 같습니다. xrdp는 더 이상 사용할 수 없으므로(그리고 여전히...) 패키지 목록에 Debian:testing추가 하고 Debian:testing에 적절하게 고정했습니다. Debian:unstable이렇게 하면 xrdp를 다시 설치할 수 있습니다. 그러나 실망스럽게도 나는 여전히 Win-RDP를 상자에 넣을 수 없었습니다. 그것은 일주일 전이었습니다.

오늘 상자를 실행 apt update && apt upgrade하고 재부팅했는데 이제 RDP가 다시 잘 작동합니다! 정확히 무엇이 문제를 해결했는지 잘 모르겠습니다. 전에도 재부팅을 시도한 줄 알았는데. 그래서 내 쪽에서는 괜찮습니다.

관련 정보