Три года назад я не думал, что буду заниматься настройкой удаленного доступа к рабочему столу на сервере Debian. Тогда SSH хватало для всего. Но удаленная работа полностью изменила ситуацию.
XRDP предоставляет вам графический доступ к вашему дистрибутиву Debian из любого места. Независимо от того, устраняете ли вы неполадки из дома или хотите показать коллеге что-то визуальное, это лучше, чем попытка объяснить команды терминала через Slack.
Что такое XRDP и зачем его использовать для удаленного рабочего стола Debian?

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

Всегда сначала обновляйтесь. Однажды я потратил два часа на отладку конфликтов пакетов, которые можно было бы предотвратить с помощью простого обновления.
sudo apt update && sudo apt upgrade -y
При этом извлекается последняя информация о пакете и применяются исправления безопасности. -y флаг пропускает запросы на подтверждение.
Как установить среду рабочего стола для XRDP в Debian

Большинство серверов Debian работают в автономном режиме. Для правильной работы XRDP вам нужна среда рабочего стола.
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils -y
Я использую Xfce, потому что он легкий и стабильный при удаленных подключениях. GNOME тоже работает, но использует больше ресурсов. 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 (Несложный межсетевой экран) проще для базовых настроек:
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=tls – Принудительное 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-адрес вашего сервера
- Нажмите Подключиться
- Введите имя пользователя и пароль Debian
- Выберите «Xorg», когда будет предложено указать тип сеанса.
Соединение в локальной сети обычно устанавливается в течение нескольких секунд.
Как подключиться к Debian XRDP из Linux (с помощью Remmina)
Установите Remmina, которая хорошо обрабатывает RDP-соединения:
sudo apt install remmina remmina-plugin-rdp
Remmina предоставляет графический интерфейс для управления несколькими удаленными подключениями. Вы можете сохранять профили подключения и настраивать параметры отображения для каждого подключения.
Лучшие практики по защите сервера Debian RDP

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 Федора VPS если Debian не соответствует вашим потребностям
Самый большой прирост производительности достигается за счет выбора облегченной среды рабочего стола. GNOME может использовать более 500 МБ ОЗУ только для рабочего стола, а Xfce — около 200 МБ.
Видео по настройке Debian RDP [Установка XRDP для сервера удаленных рабочих столов]
Заключение
XRDP превращает автономный сервер Debian в нечто, которым можно управлять графически из любого места. Процесс установки имеет свои особенности, но если он работает, то он вполне надежен.
Для производственных развертываний рассмотрите управляемые решения, такие как Купить РДП услуги, которые справятся со всей сложностью за вас.
Постоянно обновляйте свою систему и регулярно отслеживайте журналы доступа. Если вы сравниваете дистрибутивы, проверьте Дебиан против Убунту чтобы увидеть, что лучше соответствует вашим требованиям.