Поиск по сайту:

Как включить протокол удаленного рабочего стола с помощью 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 и обновите список доступных пакетов с помощью следующей команды:

    1. sudo apt update

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

    1. sudo apt install xfce4 xfce4-goodies -y

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

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

    Шаг 2 — Установка xrdp в Ubuntu

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

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

    1. sudo apt install xrdp -y

    После установки xrdp проверьте состояние xrdp с помощью systemctl:

    1. 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, возможно, вам придется запустить службу вручную с помощью этой команды:

    1. sudo systemctl start xrdp

    После выполнения вышеуказанной команды снова проверьте состояние, чтобы убедиться, что xrdp находится в состоянии running.

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

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

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

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

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

    1. 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-подключения к серверу будет достаточно конфигурации по умолчанию.

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

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

    1. cd ~

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

    1. echo "xfce4-session" | tee .xsession

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

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

    1. sudo systemctl restart xrdp

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

    Сначала найдите общедоступный IP-адрес для вашей локальной машины:

    1. curl ifconfig.me

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

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

    Output
    ... your_local_ip

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

    1. sudo ufw allow from your_local_ip/32 to any port 3389

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

    1. sudo ufw status

    Вывод должен выглядеть следующим образом:

    Output
    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

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

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

    Нажмите кнопку Подключить. Если вы получаете предупреждение о том, что Удаленный рабочий стол не может подключиться к удаленному компьютеру, убедитесь, что параметр «Удаленный рабочий стол» включен в настройках вашей системы.

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

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

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

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

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

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

    Нажмите «Добавить компьютер», затем введите общедоступный IP-адрес вашего удаленного сервера в поле для заполнения:

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

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

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

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

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

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

    1. 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.