Настройка подключения по RDP к Ubuntu 20.04 в три шага

Автор: | 18.06.2021

Предисловие

Изначально для подключения к удаленному рабочему столу я пользовался приложением NoMachine, но в последствии я подумал, что дабы не плодить различного рода приложения и сервисы: «А почему бы не воспользоваться встроенным в Windows средством подключения к удаленному рабочему столу для подключения к Linux?». В итоге решил попробовать, и оказалось, что в Ubuntu 20.04 это работает буквально с после пары команд в консоли.

Шаг 1: Установка необходимых пакетов

Выполняем в консоли следующую команду:

sudo apt install xorgxrdp && sudo apt install xrdp

Первая команда устанавливает модули Xorg необходимые для работы службы xrdp, а вторая собственно устанавливает саму службу. После установки мы можем убедиться, что служба запущена и работает, выполнив:

sudo systemctl status xrdp

В результате чего мы должны увидеть примерно следующие строки вывода:

● xrdp.service - xrdp daemon
     Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-06-18 18:01:49 +05; 51min ago
       Docs: man:xrdp(8)
             man:xrdp.ini(5)
   Main PID: 669169 (xrdp)
      Tasks: 2 (limit: 7015)
     Memory: 23.4M
     CGroup: /system.slice/xrdp.service
             ├─669169 /usr/sbin/xrdp
             └─681100 /usr/sbin/xrdp

Jun 18 18:11:48 aquarius xrdp[681100]: (681100)(139831431518016)[DEBUG] xrdp_wm_log_msg: connecting to sesman ip 127.0.0.1 port 3350
Jun 18 18:11:48 aquarius xrdp[681100]: (681100)(139831431518016)[INFO ] xrdp_wm_log_msg: sesman connect ok

Здесь мы можем видеть что сервис вкоючен и активен, а это значит что мы можем перейти к следующему шагу.

Шаг 2: Пользователи XRDP

По умолчанию Xrdp использует файл /etc/ssl/private/ssl-cert-snakeoil.key, который доступен для чтения только членами группы ssl-cert. Поэтому нам нужно добавить пользователя, который запускает сервер XRDP, в группу ssl-cert. Для этого выполняем следующую команду:

sudo usermod -aG ssl-cert user_name

Где user_name — это имя пользователя который будет подключаться по RDP.

После этого шага мы уже можем совершать подключение по протоколу RDP (Remote Desctop Protocol) к нашему удаленному рабочему столу.

Шаг 3: Поключение к удаленному рабочему столу

В моем случае я делаю это в Windows 10, но думаю что любой другой RDP-клиент бует работать не хуже.

Выглядит это примерно так:

Естественно вместо 192.168.0.111 будет IP-адрес или доменное имя машины на которой мы устанавливали сервис xrdp.

После подключения мы увидим следущее:

Вводим имя и пароль пользователя, которого мы добавили в группу ssl-cert и видим наш удаленный рабочий стол.

Послесловие

Так же, если на удаленной машине никто не будет работать локально, как это сделано у меня, то есть смысл отключить менеджер сессий удаленного рабочего стола одним из двух способов:

Выключить и остановить сервис менеджера сессий, выполнив команды:

sudo systemctl stop lightdm
sudo systemctl disable lightdm

либо удалив менеджер в принципе, выполнив:

sudo apt remove lightdm

После чего на этой машине после загрузки будет видно лишь приглашение авторизации в консоль, но подключиться к удаленному рабочему столу мы все равно сможем.

Так же, чтобы не появлялось никаких лишних запросов авторизации связанных с применением цветовой схемы следует создать файл sudo nano /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla

[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=no
ResultInactive=no
ResultActive=yes