Ubuntu: как включить и настроить RDP Печать

  • ubuntu, debian, dedicated
  • 0

RDP позволяет подключаться к графическому сеансу Ubuntu из клиента Windows, macOS или Remmina. Есть два подхода:
- Встроенный GNOME Remote Desktop с RDP на десктопных Ubuntu. Просто включается в настройках, использует текущий сеанс.
- Пакет xrdp на серверах и headless-узлах. Создаёт отдельный Xorg-сеанс, не требует активного монитора.

Безопасность сначала:
- Сразу ограничьте доступ к порту 3389 через UFW по своим IP или туннелируйте через SSH.
- Ставьте длинные пароли, отключайте «гостевой» доступ и не публикуйте 3389 в интернет без фильтров.

Вариант A. Встроенный RDP в Ubuntu Desktop (GNOME)

Подходит для Ubuntu Desktop 22.04 и 24.04 с окружением GNOME. Включается через графические настройки, работает поверх текущего пользовательского сеанса.

Шаг 1. Убедитесь, что служба доступна и включите доступ
- Откройте «Настройки» → «Общий доступ».
- Включите общий доступ.
- Зайдите в «Удалённый рабочий стол»:
- Включите «Удалённый рабочий стол».
- Включите «Разрешить удалённые подключения».
- Установите «Имя пользователя и пароль» для входа по RDP.
- При необходимости включите «Разрешить управление» (не только просмотр).

Шаг 2. Разрешите порт в UFW только для своих адресов

sudo ufw allow from 203.0.113.5 to any port 3389 proto tcp comment 'RDP GNOME'
sudo ufw status verbose

Если тестируете в локальной сети, временно можно:

sudo ufw allow 3389/tcp comment 'RDP test'

Шаг 3. Подключение
- В Windows откройте «Подключение к удалённому рабочему столу», введите IP Ubuntu.
- Введите заданные в настройках GNOME логин/пароль.
- Если картинка «пустая», убедитесь, что пользователь залогинен локально и экран разблокирован, либо используйте xrdp (ниже), чтобы создавать отдельные сеансы.

Шаг 4. Снятие ограничений и защита
- По завершении тестов сузьте правила UFW до нужных IP.
- Отключите доступ, если не используете длительно, в «Удалённый рабочий стол».

Когда выбирать GNOME RDP
- Нужен доступ к уже запущенным приложениям пользователя.
- Машина с подключенным монитором и стандартной Ubuntu Desktop.


Вариант B. xrdp для серверов и headless-узлов (рекомендуется на VPS)

xrdp поднимает RDP-совместимый сервер и создаёт отдельный Xorg-сеанс при подключении. Работает на VPS и «голых» серверах без монитора.

Шаг 1. Поставьте графическую оболочку (если это сервер) и xrdp
Полноценный GNOME (удобно, но тяжеловесно):

sudo apt update
sudo apt install -y ubuntu-desktop-minimal xrdp

Лёгкая XFCE (быстро и экономно по ресурсам):

sudo apt update
sudo apt install -y xrdp xfce4 xfce4-goodies
echo 'startxfce4' | sudo tee /etc/skel/.xsession >/dev/null

Примечание: строка в /etc/skel/.xsession автоматически появится у новых пользователей. Для уже существующего пользователя создайте ~/.xsession вручную:

echo 'startxfce4' > ~/.xsession

Шаг 2. Добавьте xrdp в группу сертификатов и включите сервис

sudo adduser xrdp ssl-cert
sudo systemctl enable --now xrdp
sudo systemctl status xrdp --no-pager

Шаг 3. Откройте порт RDP в UFW и сразу сузьте по IP

sudo ufw allow from 203.0.113.5 to any port 3389 proto tcp comment 'RDP xrdp'
sudo ufw status numbered

Для первичного теста в закрытом стенде можно:

sudo ufw allow 3389/tcp comment 'RDP test'

Шаг 4. Настроить рабочую сессию
Если используете GNOME, создайте файл ~/.xsession:

echo 'gnome-session --session=ubuntu' > ~/.xsession

Для XFCE файл уже создан выше. Убедитесь, что он существует у нужного пользователя:

ls -l ~/.xsession

Шаг 5. Перезапуск и подключение

sudo systemctl restart xrdp

- Подключайтесь клиентом RDP к IP сервера.
- Вводите системное имя пользователя и пароль (те же, что для входа в Ubuntu).

Шаг 6. Диагностика типичных проблем
- Чёрный экран или мгновенный выход:
- Убедитесь, что установлен xorgxrdp (ставится вместе с xrdp).
- Проверьте, что в домашнем каталоге есть корректный ~/.xsession с gnome-session --session=ubuntu или startxfce4.
- Посмотрите логи:
sudo tail -n 200 /var/log/xrdp.log
sudo tail -n 200 /var/log/xrdp-sesman.log

- Спрашивает «аутентификацию админа» при старте приложений:
- Установите агент polkit для сеанса:

sudo apt install -y policykit-1-gnome

- Нужна смена порта RDP:

sudo sed -i 's/^port=.*/port=3390/' /etc/xrdp/xrdp.ini
sudo systemctl restart xrdp
sudo ufw allow 3390/tcp comment 'RDP alt port'

Режим «только через SSH-туннель» (самый безопасный)

Оставьте RDP слушать только 127.0.0.1 и прокидывайте локальный порт через SSH.
Шаг 1. Ограничьте xrdp на localhost:

sudo sed -i 's/^address=.*/address=127.0.0.1/' /etc/xrdp/xrdp.ini
sudo systemctl restart xrdp

Шаг 2. Туннель с вашей рабочей машины:

ssh -L 3389:127.0.0.1:3389 user@IP_сервера

Теперь подключайтесь клиентом RDP к 127.0.0.1:3389. В UFW порт 3389 можно не открывать наружу.


Контрольная проверка

Проверка порта:

ss -ltnp | grep 3389 || sudo lsof -iTCP:3389 -sTCP:LISTEN

Проверка UFW:

sudo ufw status verbose

Проверка службы:

systemctl is-active xrdp && echo OK || echo FAIL

 

Рекомендации по безопасности
- Разрешайте RDP только с белых IP или через SSH-туннель.
- Отключайте правило, когда доступ не нужен:

sudo ufw delete allow 3389/tcp

- Используйте длинные пароли и при возможности отдельного пользователя для RDP-сеансов.
- Включите логирование UFW:

sudo ufw logging medium


Итог


- Для десктопной Ubuntu включите «Удалённый рабочий стол» в GNOME, откройте 3389 в UFW для своих IP и подключайтесь штатным RDP-клиентом.
- Для серверов и VPS используйте xrdp: установите окружение (GNOME или XFCE), создайте ~/.xsession, добавьте xrdp в ssl-cert, откройте порт из доверенных подсетей.
- Максимальная защита достигается при работе RDP через SSH-туннель без публикации порта наружу.


Помог ли вам данный ответ?

Связанные статьи

Как использовать свои подсети /24 на серверах Hetzner. Использование на Windows Server   Hetzner выдаёт только один белый IP. Хочется RDP на несколько ВМ, собственный почтовый пул или... Какие есть боты/сервисы, которые стоит добавить в исключения? Практический гайд для защиты сайта и бизнеса В современных условиях кибербезопасности настройка блокировок и фильтров — обязательная мера для... Какие есть боты/сервисы, которые стоит добавить в исключения? Практический гайд для защиты сайта и бизнеса В современных условиях кибербезопасности настройка блокировок и фильтров — обязательная мера для... Что делать, если сертификаты Let’s Encrypt не обновляются? Простое решение за 5 минут Сертификаты от Let’s Encrypt стали стандартом для бесплатной автоматической защиты сайтов по... Какие сервисы и решения реально помогают? Топ-10 инструментов Почему взламывают сайты и что самое опасное? Современный сайт на WordPress, Битрикс, Joomla,...
« Назад

Powered by WHMCompleteSolution


База знаний