Налаштування RDP для підключення до Ubuntu/CentOS/Debian

Налаштування RDP для підключення до Ubuntu/CentOS/Debian

Налаштування протоколу віддаленого робочого столу (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.

Вибір сесії Xorg

Примітка: Якщо ви отримуєте повідомлення, що віддалений робочий стіл не може підключитися, перевірте, чи увімкнено опцію віддаленого робочого столу в налаштуваннях системи.

Після входу ви отримаєте доступ до середовища робочого столу Ubuntu/CentOS/Debian.

Перевірка підключення RDP

Щоб перевірити підключення за допомогою клієнта підключення до віддаленого робочого столу у Windows, виконайте такі дії:

  1. Запустіть програму Підключення до віддаленого робочого столу, знайшовши її в меню "Пуск" або ввівши mstsc у вікні "Виконати" (Windows + R) і натиснувши Enter.
  2. У вікні підключення до віддаленого робочого столу введіть публічну IP-адресу віддаленого сервера в поле Комп’ютер.
  3. Введіть ім’я користувача, пов’язане з вашим віддаленим сервером, у поле Ім’я користувача.
  4. Щоб зберегти ці налаштування для подальшого використання, натисніть Зберегти як і вкажіть ім’я файлу для підключення.
  5. Натисніть Підключити, щоб розпочати підключення.

Встановлення середовища робочого столу

Чому потрібне середовище робочого столу?

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 вразливі до несанкціонованого доступу, витоку даних або атак типу "людина посередині". Ось кілька рекомендацій щодо безпеки:

Рекомендації з безпеки

  1. Сильні паролі Використовуйте складні паролі для всіх облікових записів, що використовуються для доступу до RDP.
  2. Обмеження доступу за 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-адресу вашого клієнта.

  3. Регулярні оновлення Регулярно оновлюйте систему та пакет xRDP, щоб виправити відомі вразливості:
    • Для Ubuntu/Debian:
      sudo apt-get update && sudo apt-get upgrade
    • Для CentOS/Rocky Linux/AlmaLinux:
      sudo dnf update
  4. Використовуйте VPN або бастіонний хост Для додаткової безпеки налаштуйте доступ до RDP через VPN (наприклад, Tailscale або OpenVPN), щоб приховати порт 3389 від загального доступу до інтернету. Альтернативно використовуйте бастіонний хост для безпечних підключень.
  5. Вимкнення RDP, коли він не використовується Якщо RDP не потрібен постійно, вимкніть службу xRDP:
    sudo systemctl stop xrdp
    Увімкніть її знову, коли вона знадобиться:
    sudo systemctl start xrdp
  6. Шифрування з’єднань Переконайтеся, що xRDP налаштовано на використання шифрування. За замовчуванням xRDP підтримує 128-бітне шифрування. Перевірте налаштування в /etc/xrdp/xrdp.ini, переконавшись, що security_layer встановлено на rdp або tls.

Вирішення поширених проблем

Поширені проблеми

Навіть із правильною конфігурацією можуть виникнути проблеми з xRDP. Ось найпоширеніші проблеми та їх вирішення:

  1. Помилки підключення Якщо з’являється повідомлення "Віддалений робочий стіл не може підключитися до віддаленого комп’ютера", перевірте наступне:
    • Переконайтеся, що служба 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
  2. Чорний або порожній екран Чорний екран після входу може бути спричинений:
    • Відсутністю середовища робочого столу. Переконайтеся, що встановлено 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
  3. Проблеми з автентифікацією Якщо вхід не вдається, перевірте:
    • Правильність імені користувача та пароля.
    • Дозволи на графічний вхід для користувача. Переконайтеся, що обліковий запис не обмежено лише доступом через термінал.
    • Налаштування в /etc/xrdp/xrdp.ini. Переконайтеся, що address встановлено на 0.0.0.0:
      address=0.0.0.0
  4. Проблеми, специфічні для дистрибутива Деякі версії, наприклад Ubuntu 18.04.2, мають відомі проблеми з xRDP, такі як зелені або чорні екрани. У таких випадках:
    • Переконайтеся, що встановлено останню версію xRDP:
      • Для Ubuntu/Debian:
        sudo apt-get install xrdp
      • Для CentOS/Rocky Linux/AlmaLinux:
        sudo dnf install xrdp
    • Спробуйте альтернативне середовище робочого столу, наприклад GNOME, якщо Xfce не працює.
  5. Низька продуктивність або затримки Якщо з’єднання 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.

Інструкції покроково:
  1. Оновлення системи:
    sudo apt update -y && sudo apt upgrade -y
    sudo reboot
  2. Встановлення середовища робочого столу:
    • Для 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
  3. Завантажте та розпакуйте скрипт:
    wget https://www.c-nergy.be/downloads/xRDP/xrdp-installer-1.5.3.zip
    unzip xrdp-installer-1.5.3.zip
  4. Зробіть скрипт виконуваним:
    chmod +x xrdp-installer-1.5.3.sh
  5. Запустіть скрипт від імені користувача, що не є root:
    ./xrdp-installer-1.5.3.sh -s
  6. Перезапустіть сервер:
    sudo reboot

Після перезапуску підключіться через клієнт RDP (наприклад, Microsoft Remote Desktop). Звук має працювати автоматично, якщо його увімкнено в клієнті.

Альтернатива: Ручне налаштування для Ubuntu/Debian

Якщо ви не хочете використовувати скрипт xrdp-installer, ви можете налаштувати звук вручну:

  1. Встановіть PulseAudio та модуль перенаправлення:
    sudo apt-get install pulseaudio pulseaudio-module-xrdp
  2. Увімкніть PulseAudio для користувача:
    systemctl --user enable pulseaudio
    systemctl --user start pulseaudio
  3. Перезапустіть xRDP:
    sudo systemctl restart xrdp

⚠️ Примітка: У деяких версіях Ubuntu пакет pulseaudio-module-xrdp може бути недоступним у стандартних репозиторіях. Рекомендується використовувати скрипт.

Системи на базі RHEL: Rocky Linux, AlmaLinux, CentOS 8+, Fedora

Підтримка звуку в системах на базі RHEL вимагає ручної компіляції модуля pulseaudio-module-xrdp, що є складним і не завжди стабільним.

Основні кроки (огляд):
  1. Встановіть інструменти розробки:
    sudo dnf groupinstall "Development Tools"
    sudo dnf install rpmdevtools dnf-utils pulseaudio-libs-devel
  2. Увімкніть PowerTools (для AlmaLinux/Rocky):
    sudo dnf config-manager --set-enabled powertools
  3. Завантажте та скомпілюйте джерела PulseAudio.
  4. Клонуйте та скомпілюйте репозиторій pulseaudio-module-xrdp:
    git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git
    cd pulseaudio-module-xrdp
    ./bootstrap
    ./configure
    make
    sudo make install
  5. Перезапустіть систему:
    sudo reboot

⚠️ Цей процес не рекомендується для недосвідчених користувачів. Розгляньте використання RDP без звуку або підключення через SSH/VNC.

Вирішення проблем зі звуком
  1. Перевірте, чи увімкнено звук у клієнті RDP (наприклад, у Microsoft Remote Desktop перевірте вкладку "Локальні ресурси").
  2. Перевірте статус PulseAudio:
    systemctl --user status pulseaudio
  3. Перевірте пристрої xrdp-sink і xrdp-source:
    • Встановіть і відкрийте pavucontrol (якщо доступно).
    • Переконайтеся, що звук не вимкнено, а вихід правильно налаштовано.
  4. Перевірте налаштування в /etc/pulse/daemon.conf:
    default-sample-rate = 44100
    Після змін:
    systemctl --user restart pulseaudio
  5. Перевірте дозволи користувача: Переконайтеся, що користувач належить до групи audio і має доступ до аудіопристроїв.