Доступ к linux из windows по rdp

Что делать, если нужно получить удалённый доступ к серверу или десктопу Linux? Или подключиться к Windows-машине с Linux-десктопа? Какие клиенты RDP и FTP подходят лучше всего под Debian и Red Hat / CentOS? Интересно посмотреть, что нового появилось в последнее время.

Как известно, Remote Desktop Protocol (RDP) — проприетарный протокол Microsoft для удалённого управления десктопом. Ориентирован на передачу по сети графического интерфейса и всех функций управления.

Хотя протокол выпустила Microsoft, к настоящему моменту создано множество свободных серверов и клиентов RDP с открытым исходным кодом, под свободной лицензией и для всех операционных систем. В последние годы появились достойные серверы RDP под Linux, хотя раньше хосты всегда работали под Windows, а под Linux выпускались только клиенты. Однако к 2022 году ситуация сильно изменилась, так что стали возможно и противоположные сценарии.

Выбор сервера и клиента зависит от операционной системы хоста. RDP-сессия устанавливается между клиентом и сервером. Соответственно, для серверной и клиентской части RDP и FTP существуют разные инструменты, в том числе доступные в репозиториях Debian, Red Hat, CentOS и др.

Сервер RDP под Linux

В современных системах GNOME — сервер RDP уже интегрирован, но там много чего не хватает, так что приходится пока использовать сторонние решения. Судя по всему, сервер RDP в GNOME пока не доработан до окончательного вида. По крайней мере, там отсутствуют некоторые важные функции. Руководство по использованию и планы на доработку программы см. здесь.

▍ xRDP

Неплохой вариант для Linux-сервера — xRDP. Последняя версия 0.9.20 вышла 15 сентября 2022 года.

Эта программа специализируется на управлении Linux-десктопом по RDP, при этом xRDP как бы мимикрирует под Windows-систему, нативную для данного протокола.

Предполагается, что клиенты — это обычно системы под Windows, мобильные устройства или дешёвые RDP-терминалы типа Wyse Winterm (на Windows CE), которые можно дёшево купить б/у на «Авито» или найти списанные вообще бесплатно.

Старый терминал WYSE-530 Winterm S30 на процессоре AMD Geode 366 МГц (ноябрь 2008)

Поднимаете RDP-сервер под Linux с десятком X-сессий — и практически без усилий получаете сеть из десятка компьютеров, которые могут вводить информацию на сервер. Это просто пример, как использовать RDP-клиенты под Windows для доступа к Linux-серверу.

xRDP обеспечивает удалённый доступ по Microsoft Remote Desktop Protocol (RDP) и принимает соединения по порту 3389/tcp от следующих RDP-клиентов:

  • FreeRDP.
  • rdesktop.
  • KRDC.
  • NeutrinoRDP.
  • Windows MSTSC (Microsoft Terminal Services Client, она же mstsc.exe).
  • Microsoft Remote Desktop (есть Microsoft Store, отличается от MSTSC).

Некоторые из этих клиентов доступны только на определённых ОС, например, только на Windows. Другие поддерживают более широкий список платформ, включая Linux, MacOS, iOS и/или Android.

xRDP поддерживает повторные подключения к прерванной сессии, изменение размера дисплея, функцию RDP/VNC-прокси (подключение к другому серверу RDP/VNC через xrdp), двусторонний буфер обмена между хостом и клиентом, в том числе передачу через него туда и обратно текста, изображений и файлов, перенаправление аудиопотока и микрофона (требует сборки дополнительных модулей), перенаправление дисков (монтирование локальных клиентских дисков на удалённой машине).

В большинство популярных дистрибутивов включены последние версии пакетов xrdp и xorgxrdp, они есть также в Debian и CentOS.

▍ Установка на Ubuntu / Debian

apt install xrdp

▍ Установка на RedHat / CentOS / Fedora

На RedHat / CentOS сначала нужно активировать пакеты EPEL:

yum install epel-release

Потом можно установить xrdp

yum install xrdp

ogon

Один из многочисленных альтернативных вариантов сервера RDP под Linux — проект ogon. Это набор инструментов на C/C++, которые предоставляют удобный GUI для удалённого десктопа по RDP. Проект поддерживает большинство современных расширений протокола RDP, кодеки сжатия растровых изображений, отключение и повторное подключение к сессиям, перенаправление устройств.

Сервер совместим практически со всеми существующими клиентами RDP, сессии можно устанавливать через приложение X11, Weston или QT. Благодаря модульной конструкции, сервер легко расширяется, в него можно добавить новые функции или новые бэкенды. Ставится на Debian, CentOS и т. д.

xpra

Известный сервер под Linux с терминальными GUI-сессиями (экран для X11) — xpra. Во многом работает как xRDP, хотя и не поддерживает RDP. Но мы решили помянуть его здесь для сравнения с решениями на RDP и VNC.

Тут встроенный HTML5-клиент, аппаратное ускорение графики, поддержка множества пользователей, GUI для настройки, синхронизация клавиатуры и буфера обмена, перенаправление принтера, курсора, звука, системных уведомлений, поддержка IPv6, SSL, десктопный режим и проч.

Официальные стабильные сборки:

  • Microsoft Windows: EXE, ZIP, MSI
  • MacOS: DMG, PKG
  • Linux: RPM, DEB

Клиенты RDP и FTP под Linux

Пожалуй, лучшие клиенты RDP под Debian — это Remmina и Apache Guacamole, хотя есть и другие варианты.

Remmina

Remmina — клиент RDP по умолчанию в некоторых дистрибутивах, в том числе в Ubuntu. Это одна из самых удобных и функциональных программ для удалённой работы, поддерживает RDP, SSH, SPICE, VNC, X2Go, HTTP/HTTPS.

В июне 2022 вышла последняя версия 1.4.27 с исправлением ошибок и рядом не самых существенных изменений вроде новых цветовых схем для SSH.

Некоторые из основных функций Remmina, которые можно настраивать на стороне клиента RDP:

  • Запоминание последнего режима просмотра для каждого соединения.
  • Конфигурация двойным щелчком.
  • Качество масштабирования.
  • Размер шага автоматической прокрутки.
  • Максимальное количество последних элементов.
  • Нажатия клавиш.
  • Папка для скриншотов.
  • Предотвращение попадания скриншотов в буфер обмена.
  • Настройка разрешения экрана.
  • Конфигурация вкладок.
  • Видимость панели инструментов.
  • Режим просмотра по умолчанию.
  • Настройка поведения в полноэкранном режиме.
  • Строка поиска в главном окне.
  • Установка горячих клавиш для хоста: включение полноэкранного режима, автоподгонка окна, переключение страниц вкладок, переключение режима масштабирования, захват клавиатуры, минимизировать окно, показать/скрыть панель инструментов, сделать скриншот, режим просмотра.
  • Локальный порт SSH-туннеля.
  • Парсинг ~/.ssh/config.
  • Логи SSH.
  • Выбор шрифта терминала.
  • И др.

В наборе плагинов есть SFTP для защищённой передачи файлов.

Из специфических настроек RDP — установка глубины цвета, качества передачи видео и звука, редирект локального микрофона, подключение консоли, распознавание сервера через Remote Desktop Gateway, возможность отключить автоматические реконнекты, синхронизацию буфера обмена и некоторых других функций.

Remmina входит в состав большинства популярных дистрибутивов, включая Debian 11:

В старых версиях Debian для установки Remmina можно скопировать строки в консоль:

echo 'deb http://ftp.debian.org/debian stretch-backports main' | sudo tee --append /etc/apt/sources.list.d/stretch-backports.list >> /dev/null
sudo apt update
sudo apt install -t stretch-backports remmina remmina-plugin-rdp remmina-plugin-secret remmina-plugin-spice

Сразу после установки предлагается сделать Remmina клиентом RDP по умолчанию:

Инструкции по установке для всех систем см. на этой странице, а руководство по сборке из исходников — в справочном вики.

На CentOS есть вариант установки из репозитория EPEL, вставив в консоль следующие строчки:

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm

В качестве альтернативы — Remmina устанавливается через универсальный пакет Flatpak, который работает буквально на всех дистрибутивах:

flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# In order to have H.264 codecs
flatpak install org.freedesktop.Platform
flatpak install org.freedesktop.Platform.openh264
flatpak install --user flathub org.remmina.Remmina
flatpak run --user org.remmina.Remmina

Apache Guacamole

Apache Guacamole (HTML5, в браузере) предоставляет доступ к хосту без клиента, то есть без инсталляции на компьютер клиентской части. Работает просто через браузер. Последняя версия 1.4.0 вышла 1 января 2022 года.

Понятно, что браузерный клиент имеет определённые преимущества, поскольку запускается абсолютно на любом устройстве, где есть браузер, независимо от операционной системы.

Более того, сам десктоп необязательно должен существовать физически, это может быть просто виртуальная машина на сервере.


Из других RDP и VNC-клиентов под Linux можно упомянуть Vinagre, Boxes, TightVNC (для доступа к Windows-хостам), FreeRDP (xfreerdp/wlfreerdp, пакет для Debian) и rdesktop.

Telegram-канал и уютный чат

Безлимитные тарифы интернета с высокой скоростью соединения упростили администрирование компьютеров. Сегодня все чаще помощь пользователям оказывается удаленно. Это удобно, ведь не надо тратить время на поездки и возможность подключиться есть практически круглосуточно.

Сегодня поговорим об удаленном подключении к Ubuntu из ОС Windows. 

Зачем удаленно подключаться из Windows к Ubuntu

Не так важно, где находится удаленный компьютер – в соседней комнате или в другом регионе. Интернет убирает подобные ограничения, главное – чтобы связь оставалась стабильной на все время настройки. Это одинаково относится к машинам, работающим хоть на операционной системе Windows, хоть на Ubuntu. Последние используются, например, для развертывания сервера CS или Minecraft.

Причины, по которым требуется удаленное подключение:

  1. ручной запуск обновлений на компьютере с Ubuntu;
  2. настройка системы без подключения локального монитора, клавиатуры;
  3. работа с машиной, расположенной по другому адресу.

Пользователю доступно три варианта коннекта с компьютеров, работающих на ОС Windows. Выбор зависит от удобства и предпочтений: SSH через приложение PuTTY, встроенная поддержка RDP и виртуальная сеть VNC (понадобится предварительная настройка клиента). В любом случае перед работами понадобится выяснить IP-адрес компьютера, к которому предстоит подключаться.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться


Как выяснить IP-адрес компьютера с установленной ОС Ubuntu

Если есть физический доступ к компьютеру с установленной Ubuntu, на нем открывается терминал (комбинация клавиш Ctrl+Alt+T) и вводится команда ifconfig. В отображенном перечне данных имеет значение строка, начинающаяся с inet addr. Если используется подключение через Wi-Fi, то рядом будет его маркер в виде «wlan0». При проводном соединении фраза будет заменена на «eth0». Рядом отображается актуальный IP-адрес машины.

Второй способ заключается в применении функций графического интерфейса. Последовательность действий: найти значок подключения на панели, кликнуть правой кнопкой мышки, выбрать пункт «Сведения о подключении». Там и указан постоянный IP-адрес компьютера. Если доступа к нему нет, то можно выяснить данные через маршрутизатор. В панели управления отображаются активные пользователи вместе с их «контактами».

Подключение к Linux через SSH

Перед подключением на компьютер с Windows устанавливается приложение PuTTY. Это популярный инструмент для организации SSH-соединения, которое предоставит удаленный доступ к командной строке Ubuntu. Важно понимать, что этот режим требует определенного опыта в управлении, ведь здесь нет привычной мыши и «окошек», а все команды передаются в текстовом виде. Отчеты предоставляются в таком же виде.

Putty

По умолчанию возможность коннекта через SSH в Ubuntu отключена. Так что предварительно эту систему требуется настроить. Активация функции выполняется вводом команды sudo apt install openssh-server (в той же консоли, где ранее был взят IP-адрес). Логин и пароль подключения будут те же, что используются при входе в операционную систему.

Из-за неудобства управления в текстовой среде этот вариант востребован для удаленной активации более удобных инструментов. Например, тех же протоколов RDP или VNC. В них также пригодится IP-адрес, поэтому получить минимальные навыки работы в консоли все равно рекомендуется. Это упростит решаемые задачи, если по каким-то причинам не удается соединение в других режимах.

Подключение из Windows через RDP

Способ подключения через службу Remote Desktop Protocol (RDP) распространен при работе с машинами на платформе Windows. Популярность инструмента объясняется просто – его поддержка встроена во все виды и версии операционных систем. Все, что понадобится для подключения, уже известно: это IP-адрес, логин и пароль от Ubuntu. Запускается утилита через поиск, называется она «Подключение к рабочему столу».

RDP

На компьютере-клиенте требуется установка приложения xrdp.

  1. Необходимо открыть окно термина нажатием комбинации клавиш Ctrl+Alt+T.
  2. Ввести текстовую команду sudo apt install xrdp и нажать «Ввод».
  3. Провести активацию программы командой sudo systemctl enable xrdp.

После установки надо ввести на компьютере-сервере данные доступа и нажать кнопку «Подключить». Если поставить галочку «Разрешить мне сохранять учетные данные», последующие входы будут выполняться без дополнительных вопросов. Но в первый раз пароль всегда вводится вручную. При желании создается отдельный конфигурационный файл (востребовано, когда много компьютеров с удаленным управлением).

После подключения пользователь видит рабочий стол компьютера на Ubuntu. Работа с его окнами не отличается от локального управления – функционируют все настроенные горячие клавиши, перетаскивание мышью. В некоторых версиях Ubuntu, например, 18.04 LTS, RDP не работает, пока не выйдешь из текущего пользователя. Подобные фишки обычно известны системным администраторам.

Подключение через VNC

Есть другой вариант удаленного рабочего стола – сеть Virtual Network Computing (VNC). Она тоже требует предварительной настройки обеих машин. Так, на компьютер с Ubuntu инсталлируется ПО, открывающее доступ к управлению.

Последовательность действий:

  1. Открыть окно терминала.
  2. Ввести команду sudo apt update.
  3. Установить сервер: sudo apt install tightvncserver.
  4. Активировать его: sudo tightvncserver.

Система предложит ввести пароль для подключения. Он понадобится при активации удаленного соединения, поэтому стоит записать (запомнить) внесенные данные.

На этом все! TightVNC Server готов к работе, остается следом настроить компьютер на Windows. Программа доступна на официальном сайте разработчика в двух версиях: 32 и 64-бит.

VNC

После инсталляции и запуска достаточно ввести IP-адрес хоста и пароль доступа, введенный после активации сервера на Ubuntu. Схема работы VNC аналогична предыдущему примеру: пользователь видит перед собой удаленный рабочий стол и управляет функциями операционной системы, как будто сидит за компьютером локально.

Введение

В этом руководстве мы рассмотрим процесс настройки RDP-доступа на сервере Linux, чтобы вы могли подключаться к нему из Windows.

Xrdp — это сервер RDP с открытым исходным кодом, который позволяет подключаться к рабочему столу Linux через RDP.

Требования

Сервер Linux с установленной операционной системой.
Пользователь с правами sudo на сервере.
Клиент RDP на Windows-машине.

Этапы

1.Установка Xrdp, пример установки будет показан на Ubuntu 22.04

1.1 Для начала нам нужно выполнить обновление системы

sudo apt  update && sudo apt  upgrade && sudo reboot
У вас пойдет процесс обновления, появится окно, вам нужно согласиться, дальше продолжится обновление.

1.2 В Ubuntu 22.04 можно установить программу с помощью утилиты apt. Давайте установим XRDP из репозитория. Для этого, с помощью терминала, вы можете проверить, есть ли пакет xrdp в хранилище пакетов Ubuntu
sudo apt search xrdp

Примечание! Если у вас проблема с репозиториями, используйте команду: sudo add-apt-repository universe multiverse для добавление репозиториев.

На Ubuntu/Debian:
sudo apt install xrdp
На CentOS/Fedora:
sudo yum install xrdp

1.3 Установка пакетов
После перезагрузки можно устанавливать XRDP из репозитория Ubuntu

sudo apt install xrdp

Обращаю внимание, что при установке генерируется сертификат, который необходим для функционирования RDP протокола, строка ниже указывает, что сертификат успешно создан:

Настройка Xrdp
После установки Xrdp необходимо настроить его для работы с вашей системой.

2.1 Настройка службы XRDP
В связи с особенностями системы Ubuntu 22.04, необходимо ввести пользователя xrdp, от имени которого работает XRDP в системе, в группу ssl-cert. Выполните команду:

sudo adduser xrdp ssl-cert

Затем добавьте службу xrdp в автозапуск и перезапустите её для применения изменений:

sudo systemctl enable xrdp

sudo systemctl restart xrdp

sudo systemctl status xrdp

Если результат выполнения команды выглядит так, как на скриншоте, то все прошло успешно. В финале предоставьте доступ из внешней сети к порту 3389 в файрволле Ubuntu

2.2. Настройка файерволла

Вам нужно открыть порт 3389 в вашем файерволле, чтобы разрешить RDP-подключения.

На Ubuntu/Debian:
sudo ufw allow 3389
На CentOS/Fedora:
sudo firewall-cmd —permanent —add-port=3389/tcp
sudo firewall-cmd —reload

Опасно держать открытым RDP в Интернет, на долгий промежуток времени. 

Риски

Чем вы рискуете открывая порт RDP?

1) Неавторизованный доступ к чувствительным данным
Если кто-то подберёт пароль к RDP, то он сможет получить данные, которые вы хотите держать приватными: состояние счетов, балансы, данные клиентов, …
2) Потеря данных
Например в результате работы вируса-шифровальщика.
Или целенаправленного действия злоумышленника.
3) Потеря рабочей станции
Работникам нужно работать, а система — скомпрометирована, нужно переустанавливать / восстанавливать / конфигурировать.
4) Компрометация локальной сети
Если злоумышленник получил доступ к Windows-компьютеру, то уже с этого компьютера он сможет иметь доступ к системам, которые недоступны извне, из Интернета. Например к файл-шарам, к сетевым принтерам и т.д.
и еще многие другие риски вас могут ожидать!

Дополнительные сведение:
Можно установить на вашу ВМ, П/О IPban, оно поможет сократить не желательные подключение.
https://github.com/digitalruby/ipban

Так же рекомендация переименовать пользователя- Administrator в другое имя, т.к нельзя его удалить, если он у вас оставлен и существует. Это упрощает задачу для злоумышленников: вместо подбора имени и пароля нужно только подобрать пароль.

2.3. Настройка Xorg

Xorg — это сервер X11, который обеспечивает графический интерфейс пользователя. Xrdp необходимо настроить для работы с Xorg.

На Ubuntu/Debian:
sudo nano /etc/xrdp/xorg.conf
Добавьте следующую строку в конец файла:

StartWM = /etc/X11/xinit/xinitrc
Сохраните и закройте файл.

На CentOS/Fedora:
sudo nano /etc/xrdp/startwm.sh
Добавьте следующую строку в конец файла:

#!/bin/bash
Xorg -display :0 -nolisten tcp «$@»
Сохраните и закройте файл.

2.4. Настройка пользователей

Xrdp должен быть настроен для работы с конкретным пользователем.

На Ubuntu/Debian:
sudo nano /etc/xrdp/xrdp.ini
Найдите строку security_layer и измените ее значение на Allow Single User.

Найдите строку username и измените ее значение на имя пользователя, который будет использоваться для RDP-подключений.

Сохраните и закройте файл.

На CentOS/Fedora:
sudo nano /etc/xrdp/xrdp.ini
Найдите строку SecurityLayer и измените ее значение на Allow Single User.

Найдите строку UserName и измените ее значение на имя пользователя, который будет использоваться для RDP-подключений.

Сохраните и закройте файл.

2.5. Перезапуск Xrdp

После внесения изменений в конфигурационные файлы необходимо перезапустить Xrdp.

sudo systemctl restart xrdp

3. Подключение к серверу

Теперь вы можете подключиться к серверу Linux из Windows с помощью клиента RDP.

Откройте клиент RDP.

Введите IP-адрес вашего сервера Linux.
Введите имя пользователя и пароль.
Нажмите кнопку «Подключиться».

Дополнительные сведения

Настройка Xrdp на Ubuntu: https://www.digitalocean.com/community/tutorials/how-to-enable-remote-desktop-protocol-using-xrdp-on-ubuntu-22-04
Настройка Xrdp на CentOS: https://docs.e2enetworks.com/guides/centos_xrdp.html
Подключение к удаленному рабочему столу в Windows: https://support.microsoft.com/en-us/windows/how-to-use-remote-desktop-5fe128d5-8fb1-7a23-3b8a-41e636865e8c
В заключение

Введение

Мы продолжаем нашу серию статей о Linux и на этот раз наш интерес к теме вызван необходимостью получить удаленный доступ к Ubuntu Server LTS 22.04 не через терминал по SSH, а пока что, используя привычную для Windows-пользователя мышку и графический интерфейс c иконками. Поэтому поделимся своим опытом и предоставим небольшой обзор того, как можно реализовать удаленный доступ с помощью RDP (Remote Desktop Protocol) клиента Windows и сервиса XRDP на Linux.Изучение мы продолжаем на виртуальной машине Hiper-V с установленным дистрибутивом Ubuntu Server LTS 22.04 и графическим окружением XFCE.

Установка XRDP

xRDP (Xorg Remote Desktop Protocol) — это реализация протокола RDP, позволяющая удаленно управлять рабочим столом Linux-системы. Он предоставляет возможность подключаться к удаленной машине через RDP-клиент, такой как Remote Desktop Connection на Windows, и работать с графическим интерфейсом Linux-системы, включая приложения и окна.

  1. Обновляем список пакетов: 
    • sudo apt update
    • sudo apt upgrade

  2. Устанавливаем XRDP: 
    • sudo apt install xrdp

  3. Проверяем работоспособность XRDP: 
    • sudo systemctl status xrdp
    • sudo systemctl start xrdp — если понадобится запустить службу вручную

  4. Настройка сертификата для обеспечения безопасного соединения с использованием XRDP необходимо настроить ssl подключения. Доступ к ключам, расположенным в директории /etc/ssl/private/, предоставляется только пользователям, принадлежащим группе ssl-cert. Чтобы XRDP имел доступ к сертификату, требуется добавить пользователя xrdp в группу ssl-cert. Важно, после выполнения данной операции не забудьте перезагрузить службу XRDP.
    • sudo adduser xrdp ssl-cert
    • sudo systemctl restart xrdp

  5. Настраиваем брандмауэр: XRDP прослушивает стандартный удаленный порт 3389. Нам необходимо разрешить доступ по этому порту через UFW(брандмауэр). Для начала достаточно открыть доступ только для локальной сети и обязательно перезагрузить:
    • sudo apt install ufw
    • sudo ufw enable
    • sudo ufw allow from 192.168.1.0/24 to any port 3389

  6. «Лечим черный экран»:  для устранения проблемы с черным экраном при входе через XRDP, когда пользователь одновременно подключен и локально, и через RDP, необходимо внести изменения в файл /etc/xrdp/startwm.sh. Чтобы открыть данный файл в редакторе nano, выполните следующие шаги:
    • sudo apt install nano
    • sudo nano /etc/xrdp/startwm.sh

    • Добавить строки: 
      unset DBUS_SESSION_BUS_ADDRESS 
      unset XDG_RUNTIME_DIR
      

Сервер XRDP установлен, теперь остается проверить — удалось ли нам корректно настроить хост для подключения.

  1. Для соединения по RDP используем ip адрес и имя пользователя которого добавили в группу ssl сертификата

  2. Далее вновь используем это же имя пользователя и пароль
  3. Получаем полный доступ  к рабочему столу

Вывод

Основных протоколов для удаленного управления машиной под управлением Linux несколько: RDP, VNC, SSH и у каждого есть плюсы и минусы в сравнении друг с другом. На наш взгляд, для начинающих пользователей, желающих обслуживать Linux машины, мы рекомендуем использовать RDP подключение, как наиболее простой и удобный. Конечно, опытные администраторы серверов не ставят даже графическое окружение и конфигурируют систему через SSH протокол, но для начала можно начать с привычного управления мышью.

27 сентября, 2022 12:06 пп
3 821 views
| Комментариев нет

Ubuntu, VPS

Remote Desktop Protocol (RDP) — это сетевой протокол от Microsoft, с помощью которого вы можете установить соединение с удаленным компьютером и управлять его операционной системой, используя графический интерфейс.

Также можно получить доступ и взаимодействовать с графическим пользовательским интерфейсом удаленного сервера Linux с помощью инструмента xrdp.

В этом руководстве мы установим и настроим RDP-сервер с помощью xrdp и получим к нему доступ через RDP-клиент с вашего компьютера. Также мы разберем, как установить доступ к удаленному серверу Linux, используя RDP-соединение.

Вам понадобятся:

  • Сервер Ubuntu 22.04 с пользователем без root прав с привилегиями sudo, не менее 1 ГБ ОЗУ и брандмауэром. Настроить их можно по этому мануалу.
  • Локальный компьютер с установленным клиентом RDP. Список RDP-клиентов для  ОС представлен ниже:
    • В Windows вы можете использовать приложение для подключения к удаленному рабочему столу без сторонних программ.
    • В macOS вы можете использовать приложение Microsoft Remote Desktop application.
    • В Linux вы можете использовать FreeRDP или Remmina

1: Установка окружения рабочего стола

На этом этапе вы установите и настроите среду рабочего стола на своем сервере. По умолчанию сервер Ubuntu доступен только через терминал. Для доступа к пользовательскому интерфейсу необходимо установить среду рабочего стола.

Например, Xfce предлагает удобную среду рабочего стола для систем на базе Linux.

Подключитесь к своему серверу с помощью SSH и обновите системные пакеты с помощью команды:

sudo apt update

Затем установите пакеты xfce и xfce-goodies на свой сервер:

sudo apt install xfce4 xfce4-goodies -y

Вам будет предложено выбрать диспетчер отображения. Это программа, которая управляет графическими механизмами входа в систему и сеансами пользователей. Вы можете выбрать любой вариант из списка доступных менеджеров, но мы будем пользоваться gdm3.

После установки среды рабочего стола установите xrdp на свой сервер.

2: Установка xrdp

xrdp — это служба удаленного рабочего стола для серверов Linux. Она позволяет нам подключать удаленные настольные системы Linux через Microsoft RDP.

Чтобы установить xrdp, выполните в терминале следующую команду:

sudo apt install xrdp -y

Команда покажет статус active (running):

 xrdp.service - xrdp daemon
     Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
     Active: **active (running)** since Sun 2022-08-07 13:00:44 UTC; 26s ago
       Docs: man:xrdp(8)
             man:xrdp.ini(5)
   Main PID: 17904 (xrdp)
      Tasks: 1 (limit: 1131)
     Memory: 1016.0K
     CGroup: /system.slice/xrdp.service
             └─17904 /usr/sbin/xrdp

Если статус xrdp не running, скорее всего, вам придется запустить службу вручную с помощью этой команды:

sudo systemctl start xrdp

После этого снова проверьте статус, чтобы убедиться, что xrdp running.

Вы успешно установили xrdp на свой сервер. Далее мы покажем конфигурацию xrdp для приема удаленных подключений.

3: Настройка xrdp и обновление брандмауэра

На этом шаге мы рассмотрим конфигурацию xrdp по умолчанию, которая хранится в /etc/xrdp/xrdp.ini, и добавим конфигурацию для подключения RDP. Также нужно обновить настройки брандмауэра.

xrdp.ini — это файл конфигурации по умолчанию для настройки подключений RDP к серверу xrdp. Файл конфигурации можно изменить и настроить в соответствии с требованиями к RDP-подключению.

Откройте файл в текстовом редакторе nano или в редакторе на ваш выбор:

sudo nano /etc/xrdp/xrdp.ini

Файл конфигурации содержит различные разделы:

  • Globals определяет некоторые глобальные параметры конфигурации для xrdp.
  • Logging определяет параметры подсистемы логирования.
  • Channels определяет несколько параметров канала, которые поддерживает RDP.
  • Session types определяет поддерживаемые xrdp типы сеансов. Конфигурация каждого типа сеанса определяется как отдельный раздел по имени типа сеанса, заключенному в квадратные скобки, например [Xorg] и [XVnc]. В файле нет заголовка[Sessions types]; вместо этого он записывается как комментарий.

В файле конфигурации перейдите в раздел Session types. Вы найдете несколько поддерживаемых типов сеансов и их параметры в списке:

...

;
; Session types
;

; Some session types such as Xorg, X11rdp, and Xvnc start a display server.
; Startup command-line parameters for the display server are configured
; in sesman.ini. See and configure also sesman.ini.
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
code=20

[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
#xserverbpp=24
#delay_ms=2000

[vnc-any]
...

[neutrinordp-any]
...

...

По умолчанию параметры username  и password настроены на ask, что означает, что пользователю будет предложено ввести свое name, username и password для подключения через RDP. Эти данные можно будет изменить, если у вас будет такая необходимость. Для первого RDP-подключения к серверу достаточно конфигурации по умолчанию.

Сохраните и закройте файл, когда закончите.

Теперь перейдите в домашний каталог вашего пользователя:

cd ~

Затем создайте файл.xsession в папке /home/sammy и добавите xfce4-session в качестве менеджера сеансов для использования при входе в систему:

echo "xfce4-session" | tee .xsession

tee записывает строку “xfce4-session” в файл .xsession. Приведенная выше конфигурация гарантирует, что xfce4-session используется в качестве диспетчера сеансов при запросе входа в систему. В результате установки xfce в качестве среды рабочего стола xfce4-session служит его менеджером сеансов. Если вы не включите эту информацию в файл .xsession, менеджер сеансов не будет выбран, и сеанс RDP не сможет подключиться к графическому дисплею.

Перезапустите сервер xrdp:

sudo systemctl restart xrdp

Затем нужно настроить брандмауэр, чтобы разрешить удаленные подключения с вашего внешнего IP-адреса через порт 3389. Соединение RDP обслуживается через порт TCP/IP 3389. Чтобы получить доступ к удаленному серверу через RDP, вы должны открыть порт 3389 в своем брандмауэре.

Сначала найдите внутренний IP-адрес вашего компьютера:

curl ifconfig.me

В Windows используйте командную строку для запуска этой команды.

curl отправляет запрос на ifconfig.me, который возвращает ваш внешний IP-адрес в качестве вывода:

...
your_local_ip

Затем разрешите доступ к порту RDP 3389 на вашем удаленном сервере, заменив your_local_ip результатом последней команды:

sudo ufw allow from your_local_ip/32 to any port 3389

Проверьте статус вашего брандмауэра UFW:

sudo ufw status

Результат будет такой:

Status: Active
To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
3389                       ALLOW       your_local_ip                 
OpenSSH (v6)               ALLOW       Anywhere (v6)  
...

Вы включили порт 3389 для приема соединений с вашего внешнего IP-адреса. Теперь проверьте RDP-соединение вашего локального компьютера с удаленным сервером.

4: Тестирование RDP-соединения

Сейчас мы протестируем соединение RDP с вашего локального компьютера. В следующих пунктах показаны действия по тестированию соединения на компьютерах с Windows, macOS и Linux.

Тестирование RDP-подключения в Windows

Запустите приложение подключения к удаленному рабочему столу.

Введите внешний IP-адрес вашего удаленного сервера и имя пользователя. Может быть, вам придется нажать стрелку вниз для отображения параметров, чтобы ввести имя пользователя:

Нажмите кнопку Connect. Если вы получаете предупреждениеRemote Desktop can’t connect to the remote computer”, убедитесь, что вы включили опцию Remote Desktop в настройках системы.

Отметьте опцию «Рабочий стол» в настройках вашей системы.

Нажмите Yes, если появится всплывающее окно подтверждения:

Затем введите имя пользователя вашего удаленного сервера (sammy) и пароль, который вы создали для него во время первоначальной настройки сервера. Нажмите Ок.

После входа в систему вы сможете получить доступ к среде рабочего стола Ubuntu:

Используя RDP, вы успешно подключились к удаленному серверу Ubuntu с вашего локального компьютера. Можно закрыть его, когда закончите работу с графическим рабочим столом.

Тестирование подключения RDP в macOS

Чтобы проверить подключение через клиент удаленного рабочего стола в macOS, сначала запустите приложение Microsoft Remote Desktop Connection.

Нажмите «Add PC», затем введите внешний IP-адрес вашего удаленного сервера:

Вы можете добавить учетную запись пользователя при настройке подключения:

Если вы не добавите пользователя во время установки, вам будет предложено ввести учетные данные пользователя:

Нажмите Yes, чтобы пропустить всплывающее окно подтверждения:

После входа в систему вы можете получить доступ к удаленному рабочему столу Ubuntu. Можно закрыть его, когда закончите работу.

Тестирование RDP-подключения в Linux

Вам понадобится RDP-клиент для проверки RDP-соединения на локальном компьютере с Linux. Сначала установите RDP-клиент remmina для Ubuntu:

sudo apt install remmina

Выберите Y, если будет предложено завершить установку. Эта команда установит Remmina, клиент удаленного рабочего стола с открытым исходным кодом, в вашей системе Ubuntu. Для установки на другие дистрибутивы Linux вы можете просмотреть документацию Remmina.

После установки запустите приложение remmina на локальном компьютере с Linux и введите внешний IP-адрес удаленного сервера. Нажмите Enter, чтобы подключиться к удаленному рабочему столу.

Затем введите имя пользователя удаленного сервера (напоминаем, что для этого руководства имя пользователя — sammy) и пароль, который вы создали для него во время первоначальной настройки сервера. Нажмите Ок.

Возможно, вам придется снова ввести пароль пользователя, чтобы разблокировать удаленный рабочий стол.

После входа в систему вы сможете получить доступ к среде рабочего стола Ubuntu.

Используя RDP, вы успешно подключились к удаленному серверу Ubuntu с вашего локального компьютера. Можно его закрыть, когда закончите работу с графическим рабочим столом.

Убедившись, что удаленное соединение работает, вы можете применять эту последовательность действий всякий раз, когда вам нужно использовать графический интерфейс для вашего удаленного сервера Linux.

Итоги

Надеемся, что это руководство помогло вам установить и настроить XRDP. Теперь вы можете удаленно управлять своей ОС через соединение RDP с локального компьютера.

Tags: RDP, xrdp

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Что будет если перезагрузить компьютер во время обновления windows 10
  • Как изменить звуковые эффекты windows 10
  • Gigabyte обновление биос через windows
  • Big time rush windows down instrumental
  • Conexant high definition audio windows 7