Автор выбрал Фонд помощи по COVID-19 для получения пожертвования в рамках программы Write for Donations.
Введение
Протокол удаленного рабочего стола (RDP) – это сетевой протокол, разработанный Microsoft, который позволяет пользователям удаленно получать доступ и взаимодействовать с графическим интерфейсом удаленного сервера Windows. RDP работает по модели клиент-сервер, где клиент RDP установлен на локальной машине, а сервер RDP установлен на удаленном сервере.
RDP широко используется для удаленных подключений к Windows, но также можно получить доступ и взаимодействовать с графическим интерфейсом удаленного сервера Linux, используя инструмент типа xrdp, открытой реализации сервера RDP.
В этом руководстве вы установите и настроите сервер RDP с использованием xrdp на сервере Ubuntu 22.04 и получите к нему доступ, используя клиент RDP с вашей локальной машины. Вы узнаете, как установить доступ к удаленному серверу Linux, настраивая и используя соединение RDP.
Развивайте ваши фронтенд-приложения с помощью DigitalOcean App Platform. Позвольте DigitalOcean масштабировать ваше приложение.
Предпосылки
Для завершения этого руководства вам понадобится:
-
Один сервер Ubuntu 22.04 с пользователем без прав администратора, обладающим привилегиями
sudo
, брандмауэром и как минимум 1 ГБ оперативной памяти, который вы можете настроить, следуя руководству по начальной настройке сервера Ubuntu 22.04. -
Локальный компьютер с установленным клиентом RDP. Список доступных клиентов RDP для различных операционных систем приведен ниже:
- На Windows вы можете использовать приложение для удаленного рабочего стола по умолчанию.
- На macOS вы можете использовать приложение Microsoft Remote Desktop.
- На Linux вы можете использовать FreeRDP или 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 проверьте его статус, используя 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.
- Logging определяет параметры подсистемы журналирования для журналов.
- Channels определяет несколько параметров каналов, которые поддерживает RDP.
- Типы сеансов определяет несколько поддерживаемых типов сеансов xrdp. Конфигурация каждого типа сеанса определяется как отдельный раздел под его именем типа сеанса, заключенным в квадратные скобки, например,
[Xorg]
и[XVnc]
. В файле нет заголовка[Session types]
; вместо этого он написан как комментарий.
В файле конфигурации перейдите к разделу Session types
. Вы найдете перечисленные несколько поддерживаемых типов сеансов и их параметры:
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. Параметры, такие как name
, username
и password
, могут быть изменены при необходимости. Для начального подключения по 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 используйте командную строку Windows для выполнения этой команды.
curl
выполняет запрос на сайт ifconfig.me
, который возвращает ваш публичный IP-адрес в качестве вывода:
Output...
your_local_ip
Затем разрешите доступ к порту RDP 3389
на вашем удаленном сервере, заменив ваш_локальный_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-адреса. Затем вы протестируете подключение к вашему удаленному серверу с вашего локального компьютера.
Шаг 4 — Тестирование подключения RDP
На этом этапе вы протестируете подключение RDP с вашего локального компьютера. Ниже приведены действия для тестирования подключения на компьютерах под управлением Windows, macOS и Linux.
Тестирование подключения RDP в Windows
Для тестирования подключения с помощью клиента Remote Desktop Connection на Windows сначала запустите приложение Remote Desktop Connection.
Введите публичный IP-адрес вашего удаленного сервера и имя пользователя в поля для заполнения Компьютер и Имя пользователя. Возможно, вам потребуется нажать стрелку вниз для Показать параметры, чтобы ввести имя пользователя:
Нажмите кнопку Подключить. Если вы получаете предупреждение, что Удаленный рабочий стол не может подключиться к удаленному компьютеру
, проверьте, включена ли опция удаленного рабочего стола в настройках вашей системы.
Нажмите Да, если появится окно проверки подлинности:
Затем введите имя пользователя вашего удаленного сервера (sammy
) и пароль, который вы создали для пользователя sammy
во время начальной настройки сервера. Нажмите ОК.
После входа в систему вы должны получить доступ к вашей рабочей среде Ubuntu:
С помощью RDP вы успешно подключились к удаленному серверу Ubuntu с локальной машины. Вы можете закрыть его кнопкой выхода, когда закончите использовать графический рабочий стол.
Тестирование подключения по RDP на macOS
Чтобы протестировать подключение с помощью клиента Remote Desktop Connection на macOS, сначала запустите приложение Microsoft Remote Desktop Connection.
Нажмите Добавить ПК, затем введите публичный IP-адрес вашего удаленного сервера в поле для заполнения:
Вы можете Добавить учетную запись пользователя при настройке подключения:
Если вы не добавите пользователя во время настройки, вас попросят ввести учетные данные для входа:
Нажмите Да, чтобы пропустить всплывающее окно подтверждения личности:
После входа вы сможете получить доступ к удаленному рабочему столу Ubuntu. Вы можете закрыть его кнопкой выхода, когда закончите использование графического рабочего стола.
Тестирование соединения RDP в Linux
Вам понадобится клиент RDP для тестирования соединения RDP на локальной машине с Linux. Сначала установите клиент RDP remmina
для Ubuntu:
- sudo apt install remmina
Выберите y
, если будет предложено завершить установку. Эта команда установит Remmina, клиент удаленного рабочего стола с открытым исходным кодом, на вашу систему Ubuntu с использованием apt
. Для других дистрибутивов Linux вы можете ознакомиться с документацией Remmina по установке.
После установки запустите приложение remmina
на вашей локальной машине с Linux и введите общедоступный IP-адрес вашего удаленного сервера в поле для ввода. Нажмите Enter на клавиатуре, чтобы подключиться к удаленному рабочему столу.
Затем введите имя пользователя удаленного сервера (в этом руководстве имя пользователя – sammy
) и пароль, который вы создали для пользователя во время начальной настройки сервера. Нажмите ОК.
Вам может потребоваться ввести пароль пользователя еще раз, чтобы разблокировать удаленный рабочий стол.
Как только вы войдете в систему, вы сможете получить доступ к своей рабочей среде Ubuntu.
Используя RDP, вы успешно подключились к удаленному серверу Ubuntu с локальной машины. Вы можете закрыть его кнопкой выхода, когда закончите использовать графический рабочий стол.
После того как вы убедитесь, что удаленное подключение работает, вы можете использовать эту последовательность в любое время, когда вам нужно использовать графический интерфейс для вашего удаленного сервера Linux.
Заключение
В этой статье вы настроили xrdp для подключения к графическому рабочему столу вашего удаленного сервера Ubuntu через соединение RDP с локальной машины.
Теперь вы можете попробовать настроить соединение VNC для вашего сервера Linux с помощью Как установить и настроить VNC на Ubuntu 20.04. VNC – это еще один вариант удаленного подключения к рабочему столу Linux.