XRDP Remote Desktop в Ubuntu

Contents
Introduction
Installation
Перезапуск xrdp сервиса
Errors
xfreerdp

Introduction

xrdp-это бесплатная и открытая реализация сервера Microsoft RDP (Remote Desktop Protocol), которая позволяет операционным системам, отличным от Microsoft Windows (таким как Linux и операционные системы в стиле BSD ), обеспечить полностью функциональный RDP-совместимый удаленный рабочий стол.

Он работает путем соединения графики из системы X Window с клиентом и ретрансляции элементов управления из клиента обратно в X .

По словам разработчиков, протокол работает с rdesktop, FreeRDP и собственным клиентом удаленного рабочего стола Microsoft

Installation

To пользоваться xrdp нужно сперва установить X-сервер . Например, Gnome или Xfce.

Установить Gnome:

sudo apt update
sudo apt install ubuntu-desktop

Установить xfce:

sudo apt update
sudo apt install xubuntu-desktop

sudo apt install xrdp

Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: xorgxrdp Suggested packages: guacamole xrdp-pulseaudio-installer The following NEW packages will be installed: xorgxrdp xrdp 0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded. Need to get 488 kB of archives. After this operation, 3,212 kB of additional disk space will be used. Do you want to continue? [Y/n]

Y

Проверить статус

sudo systemctl status xrdp

● xrdp.service - xrdp daemon Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2021-01-19 15:21:51 EET; 5min ago Docs: man:xrdp(8) man:xrdp.ini(5) Main PID: 188751 (xrdp) Tasks: 1 (limit: 38009) Memory: 1.9M CGroup: /system.slice/xrdp.service └─188751 /usr/sbin/xrdp Jan 17 15:21:50 andrei xrdp[188750]: (188750)(139708266788672)[INFO ] address [0.0.0.0] port [3389] mode 1 Jan 17 15:21:50 andrei xrdp[188750]: (188750)(139708266788672)[INFO ] listening to port 3389 on 0.0.0.0 Jan 17 15:21:50 andrei xrdp[188750]: (188750)(139708266788672)[INFO ] xrdp_listen_pp done Jan 17 15:21:50 andrei xrdp[188750]: (188750)(139708266788672)[DEBUG] Closed socket 7 (AF_INET6 :: port 3389) Jan 17 15:21:50 andrei systemd[1]: xrdp.service: Can't open PID file /run/xrdp/xrdp.pid (yet?) after start: Operation > Jan 17 15:21:51 andrei systemd[1]: Started xrdp daemon. Jan 17 15:21:52 andrei xrdp[188751]: (188751)(139708266788672)[INFO ] starting xrdp with pid 188751 Jan 17 15:21:52 andrei xrdp[188751]: (188751)(139708266788672)[INFO ] address [0.0.0.0] port [3389] mode 1 Jan 17 15:21:52 andrei xrdp[188751]: (188751)(139708266788672)[INFO ] listening to port 3389 on 0.0.0.0 Jan 17 15:21:52 andrei xrdp[188751]: (188751)(139708266788672)[INFO ] xrdp_listen_pp done

Перезапуск xrdp

sudo systemctl restart xrdp

Клиенты

Remmina

sudo apt install remmina

Errors

Cannot read private key file /etc/xrdp/key.pem: Permission denied

Вы выполнили

sudo systemctl status xrdp

И получили ошибку

Cannot read private key file /etc/xrdp/key.pem: Permission denied

Выполните

ls -la /etc/xrdp/

total 332 drwxr-xr-x 3 root root 4096 Jan 19 15:21 . drwxr-xr-x 142 root root 12288 Feb 4 13:51 .. lrwxrwxrwx 1 root root 36 Jan 19 15:21 cert.pem -> /etc/ssl/certs/ssl-cert-snakeoil.pem lrwxrwxrwx 1 root root 38 Jan 19 15:21 key.pem -> /etc/ssl/private/ssl-cert-snakeoil.key

lrwxrwxrwx говорит нам о том, что у этого файла никаких ограничений нет, но тип этого файла это ссылка поэтому переходим туда, куда он указывает

sudo -i ls -la /etc/ssl/private/

total 12 drwx--x--- 2 root ssl-cert 4096 Dec 11 14:51 . drwxr-xr-x 4 root root 4096 Dec 11 15:12 .. -rw-r----- 1 root ssl-cert 1708 Dec 11 14:51 ssl-cert-snakeoil.key

-rw-r----- означает что владелец файла может читать и записывать, а члены группы могут читать.

Группа называется ssl-cert

Добавим xrdp в эту группу и проверим

sudo usermod -G ssl-cert xrdp
groups xrdp

xrdp : xrdp ssl-cert

Теперь xrdp член группы ssl-cert и должен иметь право читать файл ssl-cert-snakeoil.key

sudo systemctl restart xrdp

xfreerdp

Подключиться к хосту по IP и имени пользователя.

xfreerdp /v:192.168.0.2 /u:andrei

Дополнительно указать порт

xfreerdp /v:192.168.0.2 /u:andrei /t:9119

Подсоединиться через посредника

Подключаемся к 10.1.100.200 через andrei.server.com

xfreerdp /v:andrei.server.com /u:"tester|10.1.100.200|serv_user" /p:Password

Share in social media: