Content
Настройка RDP для подключения к Ubuntu/CentOS/Debian
Введение
С помощью протокола удаленного рабочего стола (RDP) вы можете получить доступ к графическому интерфейсу удаленного сервера Windows из любого места, где есть сетевое соединение. RDP работает по модели клиент-сервер, где клиент RDP установлен на локальной машине, а сервер RDP работает на удаленной машине.
Этот руководство проведет вас через процесс настройки RDP для подключения к Ubuntu, CentOS или Debian. Вы узнаете, как настроить и получить доступ к удаленному серверу Linux с использованием соединения RDP.
Пошаговое руководство по настройке RDP и среды рабочего стола на Ubuntu/CentOS/Debian
Этот раздел охватывает установку и настройку среды рабочего стола на вашем сервере. По умолчанию стандартный сервер Ubuntu имеет только терминальный интерфейс. Для доступа к графическому интерфейсу необходимо установить среду рабочего стола.
Сначала подключитесь к серверу через SSH и обновите список пакетов:
1) Подключитесь к виртуальному серверу через SSH и обновите систему:
Ubuntu/Debian
sudo apt-get update
CentOS
sudo yum -y update
2) Установите необходимые пакеты:
Ubuntu/Debian
sudo apt-get install xrdp
CentOS
sudo yum install -y epel-release sudo yum install -y xrdp
3) Включите и запустите службу xRDP:
sudo systemctl enable xrdp sudo systemctl start xrdp
4) Откройте порт RDP для удаленных подключений:
Ubuntu/Debian
sudo ufw allow 3389/tcp
CentOS
Если используется FirewallD, откройте порт 3389/TCP для RDP:
sudo firewall-cmd --add-port=3389/tcp --permanent sudo firewall-cmd --reload
5) Перезапустите сервер xRDP, чтобы применить изменения:
sudo /etc/init.d/xrdp restart
Подключение к рабочему столу
Для подключения откройте приложение Подключение к удаленному рабочему столу в Windows. Введите IP-адрес сервера и имя пользователя, затем нажмите Подключить.

Во время подключения может появиться предупреждение безопасности из-за подключения к системе на базе Linux. Нажмите "Да", чтобы продолжить.
В окне входа выберите Xorg как сессию, введите пароль пользователя и нажмите OK.

Примечание: Если вы получаете сообщение, что удаленный рабочий стол не может подключиться, проверьте, включена ли опция удаленного рабочего стола в настройках системы.
После входа вы получите доступ к среде рабочего стола Ubuntu/CentOS/Debian.
Проверка подключения RDP
Чтобы проверить подключение с помощью клиента подключения к удаленному рабочему столу в Windows, выполните следующие действия:
- Запустите приложение Подключение к удаленному рабочему столу, найдя его в меню "Пуск" или введя
mstsc
в окне "Выполнить" (Windows + R) и нажав Enter. - В окне подключения к удаленному рабочему столу введите публичный IP-адрес удаленного сервера в поле Компьютер.
- Введите имя пользователя, связанное с вашим удаленным сервером, в поле Имя пользователя.
- Чтобы сохранить эти настройки для дальнейшего использования, нажмите Сохранить как и укажите имя файла для подключения.
- Нажмите Подключить, чтобы начать подключение.
Установка среды рабочего стола
Почему нужна среда рабочего стола?
RDP требует графической среды рабочего стола для отображения интерфейса. Серверные версии Linux, такие как Ubuntu Server или CentOS Minimal, обычно не включают графический интерфейс, предлагая только терминал. Без среды рабочего стола, такой как Xfce, GNOME или KDE, xRDP не сможет отобразить рабочий стол, что может привести к ошибкам, например, черному экрану.
Установка среды рабочего стола
Рекомендуем использовать легкую среду рабочего стола, такую как Xfce, которая эффективна с точки зрения ресурсов для серверов. Используйте следующие команды для ее установки:
Дистрибутив | Команда установки Xfce |
---|---|
Ubuntu/Debian |
sudo apt-get install xfce4 xfce4-goodies |
CentOS/Rocky Linux/AlmaLinux |
sudo dnf install -y epel-release && sudo dnf groupinstall -y "Xfce" |
После установки Xfce убедитесь, что менеджер дисплея, такой как lightdm
или gdm
, установлен и настроен. Менеджер дисплея управляет графическими входами. Обычно он устанавливается автоматически с Xfce, но вы можете проверить его наличие с помощью:
sudo systemctl status lightdm # или sudo systemctl status gdm
Если менеджер дисплея не установлен, установите один:
- Для Ubuntu/Debian:
sudo apt-get install lightdm
- Для CentOS/Rocky Linux/AlmaLinux:
sudo dnf install gdm
(илиsudo dnf install lightdm
для Xfce)
После установки перезапустите сервер или службу xRDP:
sudo systemctl restart xrdp
Выбор сессии
При подключении через клиент RDP (например, Microsoft Remote Desktop) выберите сессию "Xorg" в меню входа. Выбор неправильной сессии может вызвать проблемы с отображением.
Повышение безопасности
Почему важна безопасность?
RDP, особенно когда порт 3389 общедоступен, является частой мишенью для атак. Без надлежащих мер безопасности, таких как защита от атак методом грубой силы или шифрование, соединения RDP уязвимы для несанкционированного доступа, утечки данных или атак типа "человек посередине". Вот несколько рекомендаций по безопасности:
Рекомендации по безопасности
- Сильные пароли Используйте сложные пароли для всех учетных записей, используемых для доступа к RDP.
- Ограничение доступа по IP
Настройте брандмауэр, чтобы разрешать подключения RDP только с определенных IP-адресов, что снижает риск атак методом грубой силы. Примеры команд:
Дистрибутив Команды для ограничения доступа Ubuntu/Debian sudo ufw allow from <IP_ADDRESS> to any port 3389
CentOS/Rocky Linux/AlmaLinux sudo firewall-cmd --add-port=3389/tcp --permanent sudo firewall-cmd --add-source=<IP_ADDRESS> --permanent sudo firewall-cmd --reload
Замените
<IP_ADDRESS>
на IP-адрес вашего клиента. - Регулярные обновления
Регулярно обновляйте систему и пакет xRDP, чтобы устранить известные уязвимости:
- Для Ubuntu/Debian:
sudo apt-get update && sudo apt-get upgrade
- Для CentOS/Rocky Linux/AlmaLinux:
sudo dnf update
- Для Ubuntu/Debian:
- Использование VPN или бастионного хоста Для дополнительной безопасности настройте доступ к RDP через VPN (например, Tailscale или OpenVPN), чтобы скрыть порт 3389 от общего доступа в Интернете. Альтернативно используйте бастионный хост для безопасных подключений.
- Отключение RDP, когда он не используется
Если RDP не нужен постоянно, отключите службу xRDP:
sudo systemctl stop xrdp
Включите ее снова, когда она понадобится:sudo systemctl start xrdp
- Шифрование соединений
Убедитесь, что xRDP настроен на использование шифрования. По умолчанию xRDP поддерживает 128-битное шифрование. Проверьте настройки в
/etc/xrdp/xrdp.ini
, убедившись, чтоsecurity_layer
установлен наrdp
илиtls
.
Решение распространенных проблем
Распространенные проблемы
Даже при правильной конфигурации могут возникнуть проблемы с xRDP. Вот наиболее распространенные проблемы и их решения:
- Ошибки подключения
Если появляется сообщение "Удаленный рабочий стол не может подключиться к удаленному компьютеру", проверьте следующее:
- Убедитесь, что служба xRDP работает:
sudo systemctl status xrdp
. Если она неактивна, запустите ее:sudo systemctl start xrdp
. - Проверьте, открыт ли порт 3389 в брандмауэре:
- Для Ubuntu/Debian:
sudo ufw status
- Для CentOS/Rocky Linux/AlmaLinux:
sudo firewall-cmd --list-ports
Если он закрыт, откройте его:- Для Ubuntu/Debian:
sudo ufw allow 3389/tcp
- Для CentOS/Rocky Linux/AlmaLinux:
sudo firewall-cmd --add-port=3389/tcp --permanent && sudo firewall-cmd --reload
- Для Ubuntu/Debian:
- Для Ubuntu/Debian:
- Убедитесь, что служба xRDP работает:
- Черный или пустой экран
Черный экран после входа может быть вызван:
- Отсутствием среды рабочего стола. Убедитесь, что установлен Xfce или другая среда.
- Неправильным выбором сессии. Выберите "Xorg" в меню входа клиента RDP.
- Проблемами с конфигурацией xRDP. Отредактируйте
/etc/xrdp/xrdp.ini
и установитеmax_bpp=24
:sudo nano /etc/xrdp/xrdp.ini
Найдите секцию[xrdp1]
и добавьте или измените:max_bpp=24
Перезапустите xRDP:sudo systemctl restart xrdp
- Проблемы с аутентификацией
Если вход не удается, проверьте:
- Правильность имени пользователя и пароля.
- Разрешения на графический вход для пользователя. Убедитесь, что учетная запись не ограничена только доступом через терминал.
- Настройки в
/etc/xrdp/xrdp.ini
. Убедитесь, чтоaddress
установлен на0.0.0.0
:address=0.0.0.0
- Проблемы, специфичные для дистрибутива
Некоторые версии, например Ubuntu 18.04.2, имеют известные проблемы с xRDP, такие как зеленые или черные экраны. В таких случаях:
- Убедитесь, что установлена последняя версия xRDP:
- Для Ubuntu/Debian:
sudo apt-get install xrdp
- Для CentOS/Rocky Linux/AlmaLinux:
sudo dnf install xrdp
- Для Ubuntu/Debian:
- Попробуйте альтернативную среду рабочего стола, например GNOME, если Xfce не работает.
- Убедитесь, что установлена последняя версия xRDP:
- Низкая производительность или задержки
Если соединение RDP медленное, проверьте:
- Скорость сетевого соединения.
- Настройки графики xRDP. Уменьшение глубины цвета (например, до 16 бит) в
/etc/xrdp/xrdp.ini
может улучшить производительность, но снизит качество изображения.
Настройка звука в xRDP
Перенаправление звука через xRDP может быть сложным и зависит от дистрибутива. Ниже приведены рекомендуемые методы для Ubuntu Server 22.04, 24.04 и Debian 11, 12.
Ubuntu Server 22.04, 24.04 и Debian 11, 12 (рекомендуется для RDP со звуком)
Самый простой и надежный метод — использовать Ubuntu Server 22.04, 24.04 или Debian 11, 12 и установить xRDP с поддержкой звука с помощью скрипта xrdp-installer
.
Инструкции шаг за шагом:
- Обновление системы:
sudo apt update -y && sudo apt upgrade -y sudo reboot
- Установка среды рабочего стола:
- Для Ubuntu Server 22.04, 24.04:
sudo apt install ubuntu-desktop # GNOME sudo apt install xubuntu-desktop # Xfce sudo apt install kubuntu-desktop # KDE sudo reboot
- Для Debian 11, 12:
sudo apt install gnome # GNOME sudo apt install xfce4 # Xfce sudo apt install plasma-desktop # KDE sudo reboot
- Для Ubuntu Server 22.04, 24.04:
- Скачайте и распакуйте скрипт:
wget https://www.c-nergy.be/downloads/xRDP/xrdp-installer-1.5.3.zip unzip xrdp-installer-1.5.3.zip
- Сделайте скрипт исполняемым:
chmod +x xrdp-installer-1.5.3.sh
- Запустите скрипт от имени пользователя, не являющегося root:
./xrdp-installer-1.5.3.sh -s
- Перезапустите сервер:
sudo reboot
После перезапуска подключитесь через клиент RDP (например, Microsoft Remote Desktop). Звук должен работать автоматически, если он включен в клиенте.
Альтернатива: Ручная настройка для Ubuntu/Debian
Если вы не хотите использовать скрипт xrdp-installer
, вы можете настроить звук вручную:
- Установите PulseAudio и модуль перенаправления:
sudo apt-get install pulseaudio pulseaudio-module-xrdp
- Включите PulseAudio для пользователя:
systemctl --user enable pulseaudio systemctl --user start pulseaudio
- Перезапустите xRDP:
sudo systemctl restart xrdp
⚠️ Примечание: В некоторых версиях Ubuntu пакет
pulseaudio-module-xrdp
может быть недоступен в стандартных репозиториях. Рекомендуется использовать скрипт.
Системы на базе RHEL: Rocky Linux, AlmaLinux, CentOS 8+, Fedora
Поддержка звука в системах на базе RHEL требует ручной компиляции модуля pulseaudio-module-xrdp
, что является сложным и не всегда стабильным.
Основные шаги (обзор):
- Установите инструменты разработки:
sudo dnf groupinstall "Development Tools" sudo dnf install rpmdevtools dnf-utils pulseaudio-libs-devel
- Включите PowerTools (для AlmaLinux/Rocky):
sudo dnf config-manager --set-enabled powertools
- Скачайте и скомпилируйте источники PulseAudio.
- Клонируйте и скомпилируйте репозиторий
pulseaudio-module-xrdp
:git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git cd pulseaudio-module-xrdp ./bootstrap ./configure make sudo make install
- Перезапустите систему:
sudo reboot
⚠️ Этот процесс не рекомендуется для неопытных пользователей. Рассмотрите использование RDP без звука или подключение через SSH/VNC.
Решение проблем со звуком
- Проверьте, включен ли звук в клиенте RDP (например, в Microsoft Remote Desktop проверьте вкладку "Локальные ресурсы").
- Проверьте статус PulseAudio:
systemctl --user status pulseaudio
- Проверьте устройства xrdp-sink и xrdp-source:
- Установите и откройте
pavucontrol
(если доступно). - Убедитесь, что звук не выключен, а выход правильно настроен.
- Установите и откройте
- Проверьте настройки в
/etc/pulse/daemon.conf
:default-sample-rate = 44100
После изменений:systemctl --user restart pulseaudio
- Проверьте разрешения пользователя:
Убедитесь, что пользователь принадлежит к группе
audio
и имеет доступ к аудиоустройствам.