Налаштування доступу до віддаленого робочого столу на сервері Debian — це не те, про що я думав робити три роки тому. Тоді SSH було достатньо для всього. Але віддалена робота повністю змінила це.
XRDP надає графічний інтерфейс доступу до вашої системи Debian з будь-якого місця. Незалежно від того, чи ви вирішуєте несправності вдома, чи хочете показати колезі щось візуальне, краще спробувати пояснити команди терміналу через Slack.
Що таке XRDP і навіщо його використовувати для віддаленого робочого столу Debian?

XRDP реалізує протокол віддаленого робочого столу Microsoft у системах Linux. На відміну від VNC, для якого потрібне власне клієнтське програмне забезпечення, RDP працює з вбудованим підключенням до віддаленого робочого столу Windows.
Попит на рішення для віддаленого робочого столу вибухнув разом із До 2032 року глобальний ринок програмного забезпечення для віддаленого робочого столу досягне 11,98 мільярдів доларів. Це свідчить про те, наскільки поширеним став віддалений доступ.
Ось чому я віддаю перевагу XRDP над альтернативами:
- Працює з рідним RDP-клієнтом Windows
- Шифрує підключення за замовчуванням
- Підтримує кілька одночасних користувачів
- Використовує меншу пропускну здатність, ніж більшість реалізацій VNC
- Досить добре справляється з буфером обміну та обміном файлами
Debian працює далі 96,3% найкращих веб-серверів, займаючи 16% ринку серверів Linux. Таке широке використання означає велику кількість документації, коли справи йдуть не так.
Системні вимоги для сервера Debian RDP
Перш ніж почати, вам знадобиться кілька речей:
- Debian 10, 11 або 12
- Принаймні 2 ГБ оперативної пам’яті (дізнався про це, коли мій екземпляр на 1 ГБ постійно виходив з ладу)
- Доступ root або sudo
- Підключення до мережі для завантажень
- 2GB free disk space minimum
Для хмарних налаштувань a Debian VPS працює добре. Я перевірив це на дроплетах DigitalOcean і екземплярах Linode без проблем.
Як оновити Debian перед встановленням XRDP

Завжди спочатку оновлюйте. Одного разу я витратив дві години на налагодження конфліктів пакетів, яким запобігло б просте оновлення.
sudo apt update && sudo apt upgrade -y
Це витягує останню інформацію про пакет і застосовує виправлення безпеки. The -y прапорець пропускає запити підтвердження.
Як встановити робоче середовище для XRDP на Debian

Більшість серверів Debian працюють без голови. Для належної роботи XRDP вам потрібне робоче середовище.
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils -y
Я використовую Xfce, оскільки він легкий і стабільний у віддалених з’єднаннях. GNOME також працює, але використовує більше ресурсів. The xfce4-корисності пакет додає такі корисні додаткові функції, як калькулятор і текстовий редактор.
Покрокова інсталяція XRDP на сервері Debian

Встановіть XRDP зі сховищ Debian:
sudo apt install xrdp -y
Перевірте, чи правильно він почався:
sudo systemctl status xrdp
Ви повинні побачити активний (працює) в зеленому кольорі. Якщо ні, щось пішло не так під час встановлення.
Як налаштувати параметри XRDP і сеанси користувача в Debian

Для безперебійної роботи XRDP потребує деяких налаштувань. Конфігурація за замовчуванням викликає проблеми, з якими я стикався кілька разів.
Налаштування сеансів користувача для Debian XRDP
Створіть файл сеансу для кожного користувача, якому потрібен доступ RDP:
echo "xfce4-session" > ~/.xsession
Без цього файлу ви отримаєте порожній робочий стіл після входу. Мені знадобилася ціла вічність, щоб зрозуміти це вперше.
Як додати користувача XRDP до групи SSL-Cert
XRDP потребує доступу до сертифікатів SSL для безпечних з’єднань:
sudo adduser xrdp ssl-cert
Перезапуск служби XRDP після змін
Перезапустіть службу, щоб отримати зміни конфігурації:
sudo systemctl restart xrdp
Як відкрити порт 3389 для RDP на Debian

RDP використовує порт 3389. Вам потрібно відкрити його в брандмауері, залишаючи все інше заблокованим.
Безпечний доступ RDP за допомогою брандмауера UFW на Debian
UFW (Uncomplicated Firewall) простіше для базових налаштувань:
sudo ufw allow 3389/tcp
Для кращої безпеки обмежте доступ до своєї IP-адреси:
sudo ufw allow from YOUR_IP_ADDRESS to any port 3389
Замінити ВАША_IP_АДРЕСА з вашою фактичною публічною IP-адресою.
Як використовувати nftables для правил брандмауера XRDP
Якщо ви використовуєте nftables замість UFW:
sudo nft add rule inet filter input tcp dport 3389 ct state new, established counter accept
Я віддаю перевагу UFW для більшості ситуацій, але nftables дає вам більш детальний контроль, якщо він вам потрібен.
Як редагувати XRDP.ini для безпеки та продуктивності
Налаштування XRDP за замовчуванням працюють для базового доступу, але ви можете налаштувати параметри підключення або параметри безпеки.
Відредагуйте основний конфігураційний файл:
sudo nano /etc/xrdp/xrdp.ini
Основні налаштування, які слід враховувати:
- security_layer=tl – Примусове шифрування TLS
- crypt_level=високий – Максимальний рівень шифрування
- порт=3389 – Змініть це, щоб працювати на іншому порту
Налаштування Запустіть WM.sh для стабільних сеансів XRDP
Сценарій запуску сеансу контролює, що відбувається, коли користувачі підключаються:
sudo nano /etc/xrdp/startwm.sh
Додайте ці рядки в кінці, щоб запобігти поширеним проблемам сеансу:
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
exec startxfce4
Ці змінні середовища можуть перешкоджати запуску сеансу робочого столу. Я зіткнувся з цією проблемою, намагаючись запустити програми, які потребували зв’язку D-Bus.
Підключення до сервера Debian RDP
Після налаштування підключення з різних операційних систем є простим.
Як підключитися до Debian XRDP із Windows
Windows включає RDP-клієнт за замовчуванням:
- Знайдіть «Підключення до віддаленого робочого столу»
- Введіть IP-адресу вашого сервера
- Натисніть Connect
- Введіть своє ім’я користувача та пароль Debian
- Виберіть «Xorg», коли буде запропоновано вказати тип сеансу
У локальній мережі підключення зазвичай встановлюється протягом кількох секунд.
Як підключитися до Debian XRDP із Linux (за допомогою Remmina)
Встановіть Remmina, яка добре обробляє підключення RDP:
sudo apt install remmina remmina-plugin-rdp
Remmina надає графічний інтерфейс користувача для керування кількома віддаленими підключеннями. Ви можете зберігати профілі підключення та налаштовувати параметри відображення для кожного підключення.
Найкращі методи захисту сервера RDP Debian

RDP має значні наслідки для безпеки. Кіберзлочинці зловживають RDP у 90% атак обробляються групами реагування на інциденти.
Як увімкнути шифрування TLS для XRDP на Debian
Створення самопідписаних сертифікатів для зашифрованих з’єднань:
sudo mkdir -p /etc/xrdp/certs
cd /etc/xrdp/certs
sudo openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365
Це створює сертифікати, дійсні протягом одного року. Використовуйте належний сертифікат ЦС у виробничих середовищах.
Як налаштувати тунель SSH для RDP на Debian
Для максимальної безпеки тунелюйте RDP через SSH:
ssh -L 3389:localhost:3389 user@your-debian-server
Потім підключіться до локальний хост: 3389 замість публічної IP-адреси сервера. Це шифрує весь трафік RDP через тунель SSH.
Змініть порт XRDP з 3389 на спеціальний порт
Змініть стандартний порт, щоб зменшити спроби автоматизованих атак:
sudo nano /etc/xrdp/xrdp.ini
Зміна порт=3389 до чогось подібного порт=13389, потім перезапустіть XRDP. Не забудьте відповідно оновити правила брандмауера.
Усунення несправностей XRDP у Debian

Під час встановлення XRDP регулярно виникають деякі проблеми.
Як вирішити проблеми сумісності Wayland і XRDP
XRDP не працює належним чином із серверами відображення Wayland. Змусити систему використовувати Xorg:
sudo nano /etc/gdm3/custom.conf
Розкоментуйте цей рядок:
WaylandEnable=false
Модель безпеки Wayland суперечить тому, як XRDP отримує доступ до системи відображення. Це не буде виправлено найближчим часом.
Налаштування сеансів кількох користувачів у XRDP
Кожному користувачеві потрібна власна конфігурація сеансу:
echo "xfce4-session" | sudo tee /home/username/.xsession
sudo chown username: username /home/username/.xsession
Замінити ім'я користувача із справжнім іменем користувача. Без належного права власності файл сеансу не працюватиме.
Як оптимізувати швидкість XRDP на повільних з’єднаннях

Кілька налаштувань покращують продуктивність RDP, особливо при повільніших з’єднаннях:
- Використовуйте Xfce замість GNOME або KDE
- Вимкніть анімацію та ефекти робочого столу
- Зменшіть роздільну здатність екрана для віддалених сеансів
- Увімкніть стиснення у вашому клієнті RDP
- Розглянемо Ubuntu VPS or Fedora VPS якщо Debian не відповідає вашим потребам
Найбільший приріст продуктивності досягається завдяки вибору легкого робочого середовища. GNOME може використовувати понад 500 МБ оперативної пам’яті лише для робочого столу, тоді як Xfce використовує близько 200 МБ.
Відео з налаштування Debian RDP [Встановлення XRDP для сервера віддаленого робочого столу]
Висновок
XRDP перетворює безголовий сервер Debian на щось, яким можна керувати графічно з будь-якого місця. Процес налаштування має свої особливості, але як тільки він працює, він досить надійний.
Для виробничих розгортань розгляньте такі керовані рішення, як Купити RDP послуги, які справляються зі складністю за вас.
Регулярно оновлюйте свою систему та перевіряйте журнали доступу. Якщо ви порівнюєте дистрибутиви, перевірте Debian проти Ubuntu щоб побачити, що краще відповідає вашим вимогам.