Как включить протокол удаленного рабочего стола с помощью xrdp в Ubuntu 22.04
Автор выбрал программу Write for DOnations.
Введение
Протокол удаленного рабочего стола (RDP) — это сетевой протокол, разработанный Microsoft, который позволяет пользователям получать удаленный доступ и взаимодействовать с графическим пользовательским интерфейсом удаленного сервера Windows. RDP работает по модели клиент-сервер, когда клиент RDP устанавливается на локальную машину, а сервер RDP устанавливается на удаленный сервер.
RDP широко используется для удаленных подключений Windows, но вы также можете получить доступ и взаимодействовать с графическим пользовательским интерфейсом удаленного сервера Linux с помощью такого инструмента, как xrdp, реализация сервера RDP с открытым исходным кодом.
В этом руководстве вы установите и настроите RDP-сервер с помощью xrdp на сервере Ubuntu 22.04 и получите к нему доступ с помощью RDP-клиента с вашего локального компьютера. Вы поймете, как установить доступ к удаленному серверу Linux, настроив и используя RDP-соединение.
Предпосылки
Для выполнения этого урока вам понадобятся:
- Один сервер Ubuntu 22.04 с пользователем без полномочий root с привилегиями
sudo
, брандмауэром и не менее 1 ГБ оперативной памяти, который вы можете настроить, следуя руководству по начальной настройке сервера Ubuntu 22.04. - Локальный компьютер с установленным клиентом RDP. Список доступных RDP-клиентов для разных операционных систем представлен ниже:
- В Windows можно использовать стандартное приложение для подключения к удаленному рабочему столу.
- В macOS можно использовать приложение Microsoft Remote Desktop.
- В Linux можно использовать Remmina.
Шаг 1 — Установка среды рабочего стола в Ubuntu
На этом шаге вы установите и настроите среду рабочего стола на своем сервере Ubuntu. По умолчанию сервер Ubuntu поставляется только с терминальной средой. Для доступа к пользовательскому интерфейсу необходимо установить среду рабочего стола.
Из доступных вариантов для Ubuntu вы установите среду рабочего стола Xfce. Xfce предлагает легкую и удобную среду рабочего стола для систем на базе Linux.
Для начала подключитесь к своему серверу с помощью SSH и обновите список доступных пакетов с помощью следующей команды:
- sudo apt update
Затем установите пакеты
xfce
иxfce-goodies
на свой сервер:- sudo apt install xfce4 xfce4-goodies -y
Вам будет предложено выбрать диспетчер отображения, который представляет собой программу, которая управляет графическими механизмами входа в систему и сеансами пользователей. Вы можете выбрать любой вариант из списка доступных диспетчеров отображения, но в этом руководстве будет использоваться
gdm3
.После установки среды рабочего стола вы установите xrdp на свой сервер.
Шаг 2 — Установка xrdp в Ubuntu
xrdp — это реализация сервера RDP с открытым исходным кодом, которая позволяет подключаться по RDP для серверов на базе Linux. На этом шаге вы установите xrdp на свой сервер Ubuntu.
Чтобы установить xrdp, выполните в терминале следующую команду:
- sudo apt install xrdp -y
После установки xrdp проверьте состояние xrdp с помощью
systemctl
:- sudo systemctl status xrdp
Эта команда покажет статус как
active (running)
:Output● 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.
- Журналирование определяет параметры подсистемы ведения журнала для журналов.
- Channels определяет несколько параметров канала, которые поддерживает RDP.
- Типы сеансов определяют несколько поддерживаемых типов сеансов с помощью xrdp. Каждая конфигурация типа сеанса определяется как отдельный раздел под именем типа сеанса, заключенным в квадратные скобки, например
[Xorg]
и[XVnc]
. В файле нет заголовка[Типы сессий]
; вместо этого он записывается как комментарий.
В файле конфигурации перейдите к разделу
Типы сеансов
. Вы найдете несколько поддерживаемых типов сеансов и их параметры в списке:Output... ; ; 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
, что означает, что пользователю будет предложено ввести имя пользователя и пароль для подключения через 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/IP3389
. Чтобы получить доступ к удаленному серверу через RDP, вы должны разрешить порт3389
в своем брандмауэре.Сначала найдите общедоступный IP-адрес для вашей локальной машины:
- curl ifconfig.me
В Windows используйте командную строку Windows для запуска этой команды.
curl
отправляет запрос наifconfig.me
, который возвращает ваш общедоступный IP-адрес в качестве вывода:Output... your_local_ipЗатем разрешите доступ к RDP-порту
3389
на удаленном сервере, заменивyour_local_ip
выводом последней команды:- sudo ufw allow from your_local_ip/32 to any port 3389
Проверьте состояние вашего брандмауэра
UFW
:- sudo ufw status
Вывод должен выглядеть следующим образом:
OutputStatus: 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
Чтобы проверить подключение с помощью клиента подключения к удаленному рабочему столу в Windows, сначала запустите приложение подключения к удаленному рабочему столу.
Введите общедоступный IP-адрес вашего удаленного сервера и имя пользователя в заполняемые текстовые поля для имени компьютера и пользователя. Возможно, вам придется нажать стрелку вниз для отображения параметров, чтобы ввести имя пользователя:
Нажмите кнопку Подключить. Если вы получаете предупреждение о том, что
Удаленный рабочий стол не может подключиться к удаленному компьютеру
, убедитесь, что параметр «Удаленный рабочий стол» включен в настройках вашей системы.Нажмите Да, если появится всплывающее окно подтверждения личности:
Затем введите имя пользователя вашего удаленного сервера (
sammy
) и пароль, который вы создали для пользователяsammy
во время первоначальной настройки сервера. Нажмите Ок.После входа в систему вы сможете получить доступ к среде рабочего стола Ubuntu:
Используя RDP, вы успешно подключились к удаленному серверу Ubuntu с вашего локального компьютера. Вы можете закрыть его с помощью кнопки выхода, когда закончите работу с графическим рабочим столом.
Тестирование подключения RDP в macOS
Чтобы проверить подключение с помощью клиента подключения к удаленному рабочему столу в macOS, сначала запустите приложение Microsoft Remote Desktop Connection.
Нажмите «Добавить компьютер», затем введите общедоступный IP-адрес вашего удаленного сервера в поле для заполнения:
Вы можете Добавить учетную запись пользователя при настройке подключения:
Если вы не добавите пользователя во время установки, вам будет предложено ввести учетные данные пользователя:
Нажмите Да, чтобы обойти всплывающее окно подтверждения личности:
После входа в систему вы можете получить доступ к удаленному рабочему столу Ubuntu. Вы можете закрыть его с помощью кнопки выхода, когда закончите работу с графическим рабочим столом.
Тестирование RDP-подключения в Linux
Вам понадобится RDP-клиент для проверки RDP-соединения на локальном компьютере с Linux. Сначала установите RDP-клиент
remmina
для Ubuntu:- sudo apt install remmina
Выберите
y
, если будет предложено завершить установку. Эта команда установит документацию Remmina для установки.После установки запустите приложение
remmina
на локальном компьютере с Linux и введите общедоступный IP-адрес удаленного сервера в поле для заполнения. Нажмите Enter на клавиатуре, чтобы подключиться к удаленному рабочему столу.Затем введите имя пользователя вашего удаленного сервера (для этого руководства имя пользователя —
sammy
) и пароль, который вы создали для пользователя во время первоначальной настройки сервера. Нажмите Ок.Возможно, вам придется снова ввести пароль пользователя, чтобы разблокировать удаленный рабочий стол.
После входа в систему вы сможете получить доступ к среде рабочего стола Ubuntu.
Используя RDP, вы успешно подключились к удаленному серверу Ubuntu с вашего локального компьютера. Вы можете закрыть его с помощью кнопки выхода, когда закончите работу с графическим рабочим столом.
Убедившись, что удаленное соединение работает, вы можете использовать эту последовательность всякий раз, когда вам нужно использовать графический интерфейс для вашего удаленного сервера Linux.
Заключение
В этой статье вы настроили xrdp для подключения к графическому рабочему столу для вашего удаленного сервера Ubuntu через соединение RDP с локального компьютера.
Теперь вы можете попробовать настроить соединение VNC для вашего сервера Linux с помощью Как установить и настроить VNC в Ubuntu 20.04. VNC — еще один вариант удаленного подключения к рабочему столу Linux.