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
RDP (Remote Desktop Protocol) — протокол доступа к удаленному рабочему столу, созданный Microsoft. Он поддерживается почти любой современной ОС. В этой статье предлагаем взглянуть на несколько популярных клиентов удаленного доступа для Linux.
Проприетарный RDP — не единственный протокол удаленного доступа. Есть, например, открытый протокол VNC или защищенный протокол SSH. Все протоколы поддерживаются большинством операционных систем, включая различные дистрибутивы Linux, а иногда и мобильные ОС.
Для чего нужны RDP клиенты?
Клиенты доступа к удаленному рабочему столу имеют гораздо более широкие возможности, чем просмотр сессии удаленной машины с локальной. Через RDP клиент осуществляется доступ к удаленному рабочему столу с полноценной поддержкой клавиатуры, мыши, а также с поддержкой аудио и возможностью передачи файлов. В некоторых случаях RDP клиент может быть уже установлен в системе, например, на Ubuntu Desktop обычно предустанавливается клиент Remmina.
Изучаете Linux? Пройдите тест и проверьте знания
Популярные Linux RDP клиенты
Remmina
Remmina идет под лицензией GNU GPL и имеет открытый исходный код.
Установка Remmina
Remmina устанавливается через терминал:
sudo apt install remmina
В дистрибутивах Ubuntu, как правило, уже имеется клиент Remmina, однако, версия обычно устаревшая поэтому рекомендуется ее обновить.
Обновление Remmina
В терминале нужно ввести команду:
sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
Затем запросите обновление списка системных хранилищ:
sudo apt-get update
Следующий шаг — установка или обновление плагина протокола RDP:
sudo apt-get install remmina remmina-plugin-rdp libfreerdp-plugins-standard
Чтобы завершить установку Remmina Linux RDP client, закройте активные сеансы приложения из терминала: sudo killall remmina. Затем откройте обновленный клиент заново и перейдите к конфигурации соединения.
Настройка Remmina
Если нужны настройки Remmina Remote Desktop Client, откройте меню Preferences (параметры) нажатием на иконку в правой верхней части окна.
Подключение по RDP к удаленной машине
Давайте рассмотрим как работает подключение по RDP к удаленной машине на примере Remmina.
Нажмите кнопку Add a new connection profile (Добавить новый профиль соединения), чтобы создать новое соединение.
Откроется окно.
Поддерживаются соединения с Linux, Windows или macOS. Главное, что вам нужно знать — это IP-адрес машины, с которой устанавливается подключение, имя пользователя и пароль.
После конфигурации нового подключения, можно просто нажать Connect для подключения, а можно сохранить подключение и установить его в качестве подключения по умолчанию. Сохранив текущую конфигурацию, вы сможете соединиться с удаленным компьютером буквально в два клика.
Также есть возможность управлять соединениями, копируя, редактируя и удаляя их прямо из основного окна.
Помимо RDP, клиент Remmina также обладает поддержкой других протоколов удаленного соединения, включая безопасный SSH и открытый VNC.
Apache Guacamole
Еще один интересный RDP клиент для Linux — Apache Guacamole. Этот RDP клиент с открытым исходным кодом, распространяется по лицензии Apache v. 2.0. У Apache Guacamole есть интересная особенность — разработчики называют его «шлюз для удаленного рабочего стола без клиента» (clientless remote desktop gateway). Все благодаря тому, что Apache Guacamole работает напрямую из браузера, необходимости устанавливать дополнительное ПО или плагины нет.
Установка Apache Guacamole
Apache Guacamole может быть предустановлен в некоторых Linux Debian и Debian-based дистрибутивах. Ручная установка Apache Guacamole из терминала производится командой:
sudo apt-get install guacamole-tomcat
Поскольку Apache Guacamole — серверный клиент, требуется установить Tomcat Server на вашу машину, после чего программа установки попросит его перезапустить.
По умолчанию Apache Guacamole устанавливается с поддержкой только протокола VNC. Чтобы иметь возможность подключаться по SSH или RDP, необходимо установить дополнительно клиент для желаемого протокола. Сделать это можно следующей командой:
apt-get install libguac-client-ssh0 libguac-client-rdp0
В более новые версии дистрибутивов Linux клиенты, необходимые для подключения по протоколу RDP, могут быть уже включены.
Настройка Apache Guacamole
После установки Apache Guacamole автоматически применяет минимально необходимые для запуска настройки. Основным файлом конфигурации Apache Guacamole является guacamole.properties.
Все подробности об установке, настройке и управлении Apache Guacamole детально описаны в руководстве на официальном сайте.
Клиент Apache Guacamole максимально прост в использовании. Для запуска шлюза доступа к удаленному рабочему столу без клиента требуется иметь только браузер с поддержкой HTML5. Сама работа показана в коротком видео.
FreeRDP
Еще один бесплатный RDP клиент для Linux — FreeRDP. FreeRDP имеет лицензию Apache и открытый исходный код. Его можно встретить включенным в некоторые дистрибутивы Linux.
Установка FreeRDP
Актуальную на момент написания статьи версию FreeRDP можно установить командой из терминала:
sudo apt install freerdp2-x11
Настройка FreeRDP
FreeRDP — терминальный клиент, поэтому все настройки для подключения вводятся одной командой:
xfreerdp -u username -p password -g 1280×1024 XXX.XXX.XXX.XXX
Синтаксис команды:
- -u username — имя удаленного компьютера, к которому хотите подключиться;
- -p password — пароль учетной записи;
- -g 1280×1024 — разрешение экрана;
- XXX.XXX.XXX.XXX — IP удаленного компьютера.
Полный синтаксис можно найти в интернете.
Чтобы не вводить команду заново каждый раз, вы можете создать ярлык подключения со всеми необходимыми параметрами. Для этого, после установки FreeRDP, откройте окно терминала, запустите редактор nano: sudo nano ~/rdp.sh. В появившемся окне введите следующие строки и сохраните файл:
#!/bin/bash
xfreerdp -u username -p password -g 1280×1024 XXX.XXX.XXX.XXX
Первая строка — это директория для ярлыка, а вторая строка — команда запуска FreeRDP со всеми требуемыми параметрами. FreeRDP также можно использовать совместно с клиентом Remmina в качестве графического интерфейса.
TigerVNC
TigerVNC — это полностью бесплатный клиент, он имеет открытый исходный код. Он отличается от предыдущих клиентов удаленного доступа тем, что он работает только по протоколу VNC.
Установка TigerVNC
Для работы TigerVNC требуется окружение рабочего стола. Мы выбрали окружение Gnome, установили его следующими командами:
sudo apt install ubuntu-gnome-desktop
sudo systemctl enable gdm
sudo systemctl start gdm
Затем, чтобы установить компоненты TigerVNC, введите в окне терминала:
sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension tigervnc-viewer
Если установка прошла успешно, запустите VNC-сервер: vncserver. Создастся дефолтная конфигурация, а от вас потребуется задать пароль для TigerVNC длиной от 6 до 8 символов.
Настройка TigerVNC
Следующим шагом вы должны будете настроить рабочее окружение для работы с TigerVNC. Чтобы избежать конфликтов, следует приостановить активный VNC-сервер командой в терминале: vncserver -kill :1.
Затем введите команду vi ~/.vnc/xstartup, чтобы добавить файл xstartup в каталог конфигурации рабочего стола, откроется редактор.
В редакторе пропишите пять строк:
#!/bin/sh
exec /etc/vnc/xstartup
xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &
Эти строки будут выполняться при каждом запуске TigerVNC сервера. Сохраните файл, задайте ему разрешения:
chmod 700 ~/.vnc/xstartup
Возобновите работу сервера, введя в терминале:
vncserver :1 -localhost -geometry 1280x1024 -depth 12
Синтаксис следующий:
- :1 — номер дисплея;
- -localhost — разрешить соединения только с локального хоста;
- -geometry — разрешение экрана;
- -depth — глубина цвета.
TigerVNC — быстрый клиент удаленного доступа к компьютеру, однако, его функционал ограничивается VNC протоколом, и его установка чуть более требовательна, чем у аналогов.
rdesktop
Следующий клиент — rdesktop — поддерживается на платформах Linux, Microsoft Windows, имеет открытый исходный код. Выгодно отличает rdesktop от других клиентов поддержка протокола RDP 4.0, используемого в версиях Windows NT 4.0 Terminal Server Edition и Windows 2000 Server.
Установка rdesktop
Рекомендуем сперва проверить наличие rdesktop в дистрибутиве. Если rdesktop уже включен в систему, то он запустится командой rdesktop. Если rdesktop в дистрибутиве отсутствует, то установить его можно командой:
sudo apt-get install rdesktop
Настройка rdesktop
Подключение к удаленному рабочему столу производится из терминала командой:
rdesktop -z -P (-g/-f) 1280x1024 -u USER -p PASSWORD SERVER-ADDRESS
Команда использует следующий синтаксис:
- -z — использовать сжатие потока;
- -P — использовать кэширование;
- -g/-f — оконный/полноэкранный режим;
- -u — имя пользователя удаленной машины;
- -p — пароль.для входа в учетную запись удаленного компьютера.
Это только некоторые из доступных команд, полный список легко находится в интернете.
Если вы в поиске простого и надежного клиента, который поддерживал бы также функции RDP4, то rdesktop будет оптимальным выбором.
Vinagre
Vinagre входит в стандартное окружение Gnome и по сути является официальным RDP клиентом Gnome. Это значит, что клиент Vinagre уже должен быть включен в ваш дистрибутив Linux с окружением Gnome, и его установка не потребуется.
Установка Vinagre
Если по какой-то причине клиент Vinagre отсутствует у вас в системе, вы можете его инсталлировать, введя в консоли:
sudo apt-get install vinagre
Преимущества Vinagre это:
- Возможность подключить несколько удаленных рабочих столов одновременно. Каждый из них будет отображаться на отдельных вкладках.
- Поиск потенциальных подключений в локальной сети. Vinagre позволяет отслеживать доступные подключения.
- Поддержка VNC и SSH.
- Добавление подключений в избранное, наличие истории.
- Поддержка Gnome Keyring.
Если вы работаете с Gnome, то вам стоит обратить внимание на Vinagre, ознакомиться с этим клиентом поближе.
NoMachine NX Client
Утилита NX Client, разрабатывается компанией NoMachine. Программа работает по проприетарному протоколу NX, который разработан компанией NoMachine. NoMachine NX Client доступен для Windows, Linux, macOS, Android, iOS, Raspberry Pi, а также из браузера.
Установка NoMachine NX Client
Вам потребуется скачать установщик в любом формате (RPM, DEB, TAR.GZ) открыть и установить его на обе машины — локальную и удаленную. То же можно сделать и командой из терминала, но иметь копию пакета установки все равно потребуется.
NoMachine NX Client обладает впечатляющим набором функций, который расширяется с каждым обновлением.
Но, во-первых, для корпоративных клиентов NoMachine продает свои продукты по подписке (44,50 долларов в год за сервер или пакет 10 пользователей, подробнее). Это совсем не выгодно отличает NX Client от рассмотренных ранее полностью бесплатных клиентов. Во-вторых, большое число функций и вкладок с различными настройками и параметрами может помешать сосредоточиться на работе. Кроме того, NoMachine NX Client не поддерживает открытие нескольких сеансов во вкладках — каждый новый сеанс нужно открыть в новом окно программы. Зато вся документация и справка на официальном сайте NoMachine переведена на русский.
NoMachine NX Client — хороший выбор, если ваши основные требования это:
- Простота установки и настройки,
- Возможность подключиться к удаленному компьютеру
- из любой точки,
- с любого устройства,
- в любое время.
Krdc
Krdc — бесплатный RDP клиент с открытым исходным кодом, идущий под лицензией GPL v.3. Krdc может работать по VNC и по RDP, клиент является официальным проектом окружения KDE для удаленного доступа.
Установка Krdc
Установить Krdc на дистрибутив Linux можно, введя в терминале:
sudo apt-get install krdc
Чтобы подключиться к удаленной машине, введите адрес в основную строку приложения, появится окно параметров подключения.
Если у вас есть потребность в простом клиенте удаленного доступа, то Krdc отлично подойдет. Дополнительным плюсом будет возможность выбора протокола подключения: RDP или VNC, по умолчанию поддержка SSH в Krdc отсутствует.
TeamViewer
TeamViewer — широко известный клиент для удаленного доступа, он является бесплатным только для частного использования. Стоимость корпоративного решения от 2 до 7 тысяч рублей в месяц за одно рабочее место, подробности можно узнать на сайте TeamViewer.
Одно из преимуществ TeamViewer — кроссплатформенность. После установки приложение позволяет подключаться к удаленному рабочему столу с Linux, Windows, macOS, Android, iOS, Blackberry и даже ChromeOS.
Установка TeamViewer
Для установки TeamViewer разработчики рекомендуют скачать пакет установки с официального сайта, после чего установить его через графический интерфейс на обе машины — локальную и удаленную. Установить TeamViewer через терминал можно соответствующими командами для соответствующего пакета, например DEB:
apt install teamviewer_12.0.xxxxx_i386.deb
TeamViewer поддерживает функцию передачи данных по удаленному соединению, через него можно осуществлять доступ к заблокированному устройству, в приложении есть чат. TeamViewer способен работать даже если система не поддерживает SSH или на машине установлен корпоративный файервол. Однако, многие не готовы отдать ему предпочтение из-за закрытого исходного кода и широкого охвата пользователей.
Заключение
В статье мы разобрали популярные клиенты удаленного доступа для Linux. Каждый из названых программных продуктов обладает своими уникальными отличиями, что делает выбор интересным. Сам выбор остается за вами.
Перейти до контенту
Установка оболочки графического интерфейса и сервера подключений к удаленному рабочему столу
В открывшемся консольном окне выполните следующую последовательность команд:
Для ОС CentOS 6
yum -y upgrade
yum -y install xorg-x11-fonts-Type1 xorg-x11-fonts-truetype
yum -y groupinstall “X Window System” “Desktop”
rpm -Uvh http://fedora.ip-connect.vn.ua/fedora-epel/6/i386/epel-release-6-8.noarch.rpm
yum -y install xrdp
yum -y install firefox tigervnc tigervnc-server tigervnc-server-module
chkconfig haldaemon –levels 2345 off
chkconfig xrdp –levels 345 on
service xrdp start
создаем файл настроек
touch /etc/sysconfig/i18n
открываем созданный файл для редактирования
nano /etc/sysconfig/i18n
в открывшемся файле указываем параметры локали, после чего сохраняем файл
LANG=”en_US.UTF-8″
SUPPORTED=”en_US.UTF-8:en_US:en”
SYSFONT=”latarcyrheb-sun16″
устанавливаем созданную локаль
localedef -c -f UTF-8 -i en_US en_US.utf8
По завершении выполнения указанных команд необходимо перезагрузить ВПС сервер выполнив команду reboot, либо в панели управления SolusVM нажав кнопку «Перезагрузить».
Для ОС Fedora 14
yum -y upgrade
yum -y groupinstall “X Window System” “GNOME Desktop Environment”
yum -y install firefox nano tigervnc tigervnc-server tigervnc-server-module
yum -y install xrdp
chkconfig haldaemon –levels 2345 off
chkconfig xrdp –levels 345 on
service xrdp start
По завершении выполнения указанных команд необходимо перезагрузить ВПС сервер выполнив команду reboot, либо в панели управления SolusVM нажав кнопку «Перезагрузить».
Для ОС Fedora 16
yum -y upgrade
yum -y groupinstall “X Window System” KDE
yum -y install firefox nano tigervnc tigervnc-server tigervnc-server-module
yum -y install xrdp
chkconfig haldaemon –levels 2345 off
chkconfig xrdp –levels 345 on
service xrdp start
По завершении выполнения указанных команд необходимо перезагрузить ВПС сервер выполнив команду reboot, либо в панели управления SolusVM нажав кнопку «Перезагрузить».
Для ОС Ubuntu 11
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install xrdp
sudo apt-get install ubuntu-desktop
sudo apt-get install gnome-desktop-environment
sudo apt-get remove network-manager-gnome
По завершении выполнения указанных команд необходимо перезагрузить ВПС сервер выполнив команду shutdow -r now
Для ОС Ubuntu 12.04 x64
apt-get update
apt-get install ubuntu-desktop –no-install-recommends
apt-get install xrdp
/etc/init.d/xrdp start
По завершении выполнения указанных команд необходимо перезагрузить ВПС сервер нажав кнопку «Перезагрузить»
Для Ubuntu 12.10 x86, Ubuntu 12.10 x64, Ubuntu 13.04 x86, Ubuntu 13.04 x64
apt-get install xrdp lxde lxsession
echo “startlxde” > ~/.xsession
service xrdp restart
По завершении выполнения указанных команд необходимо перезагрузить ВПС сервер нажав кнопку «Перезагрузить» в панели управления
Для ОС Debian 6
apt-get update
apt-get upgrade
apt-get install gdm gnome xrdp
apt-get remove network-manager-gnome
По завершении выполнения указанных команд необходимо перезагрузить ВПС сервер выполнив команду shutdow -r now
Введение
Мы продолжаем нашу серию статей о 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-системы, включая приложения и окна.
- Обновляем список пакетов:
- sudo apt update
- sudo apt upgrade
- Устанавливаем XRDP:
- sudo apt install xrdp
- Проверяем работоспособность XRDP:
- sudo systemctl status xrdp
- sudo systemctl start xrdp — если понадобится запустить службу вручную
- Настройка сертификата: для обеспечения безопасного соединения с использованием XRDP необходимо настроить ssl подключения. Доступ к ключам, расположенным в директории /etc/ssl/private/, предоставляется только пользователям, принадлежащим группе ssl-cert. Чтобы XRDP имел доступ к сертификату, требуется добавить пользователя xrdp в группу ssl-cert. Важно, после выполнения данной операции не забудьте перезагрузить службу XRDP.
- sudo adduser xrdp ssl-cert
sudo systemctl restart xrdp
- Настраиваем брандмауэр: XRDP прослушивает стандартный удаленный порт 3389. Нам необходимо разрешить доступ по этому порту через UFW(брандмауэр). Для начала достаточно открыть доступ только для локальной сети и обязательно перезагрузить:
- sudo apt install ufw
- sudo ufw enable
- sudo ufw allow from 192.168.1.0/24 to any port 3389
- «Лечим черный экран»: для устранения проблемы с черным экраном при входе через 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 установлен, теперь остается проверить — удалось ли нам корректно настроить хост для подключения.
- Для соединения по RDP используем ip адрес и имя пользователя которого добавили в группу ssl сертификата
- Далее вновь используем это же имя пользователя и пароль
- Получаем полный доступ к рабочему столу
Вывод
Основных протоколов для удаленного управления машиной под управлением Linux несколько: RDP, VNC, SSH и у каждого есть плюсы и минусы в сравнении друг с другом. На наш взгляд, для начинающих пользователей, желающих обслуживать Linux машины, мы рекомендуем использовать RDP подключение, как наиболее простой и удобный. Конечно, опытные администраторы серверов не ставят даже графическое окружение и конфигурируют систему через SSH протокол, но для начала можно начать с привычного управления мышью.
Если необходим графический интерфейс (GUI) на сервере с ОС Linux, можно установить нетребовательный к ресурсам сервера пакет xfce, xrdp.
Установку будем проводить на сервере с операционной системой Ubuntu 20.04, но данная инструкция актуальна и для Ubuntu 18.04.
1. После установки операционной системы, подключимся к серверу по SSH с помощью программы putty (как это сделать) и обновим актуальную базу данных с доступными пакетами:
apt update
2. Если необходимо, чтобы графический интерфейс был на русском языке, установим русскую локализацию. Этот пункт можно пропустить, если устроит английский интерфейс GUI.
Вначале установим пакет с переводами для системных программ:
apt install language-pack-ru
Установим русскую локализацию:
update-locale LANG=ru_RU.UTF-8
Для применения локализации, перезапустим сервер
shutdown -r now
3. Установим пакет xfce
apt install xfce4
Во время установки система запросит выбрать Менеджер дисплеев. Выберите gdm3 и нажмите Enter
Дождитесь завершения установки xfce
4. Установим пакет xrdp, после чего настроим xrdp сервер
apt install xrdp
После установки пакета, будет создан пользователь xrdp, под которым запускается сервер xrdp. Пользователь использует сертификат по умолчанию /etc/ssl/private/ssl-cert-snakeoil.key. Добавим пользователя xrdp в группу ssl-cert для предоставления прав чтения указанного сертификата.
adduser xrdp ssl-cert
После запуска пользовательской сессии (при подключении к серверу по RDP), выполняется скрипт /etc/xrdp/startwm.sh. Давайте предварительно сохраним оригинальный файл
mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.sh.bkp
и добавим сценарий запуска RDP сессии. Для редактирования файла, воспользуемся командой
vim /etc/xrdp/startwm.sh
и вставим в открывшейся файл код скрипта
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4
Только что отредактированный скрипт сделаем исполняемым:
chmod 755 /etc/xrdp/startwm.sh
Перезапустим службу xrdp
systemctl restart xrdp
и проверим ее статус
systemctl status xrdp
В результате Вы должны увидеть приблизительно такое:
5. Для подключения к серверу по RDP, по умолчанию используется стандартный порт 3389. Именно этот порт слушает сервер xrdp.
Необходимо предоставить доступ к порту 3389 в настройках межсетевого экрана.
Для доступа с любого IP:
ufw allow 3389
или, если необходим доступ только с конкретного IP адреса (например, можно указать внешний IP Вашей домашней сети):
sudo ufw allow from 111.111.111.111 to any port 3389
* здесь вместо 111.111.111.111 укажите Ваш внешний IP адрес.
6. Для подключения к удаленному рабочему столу, создадим отдельного пользователя, выполнив команду
adduser xrdpuser
При создании пользователя необходимо ввести пароль и подтвердить его (при вводе пароля, символы не будут отображаться — так и должно быть). Другие запрашиваемые данные вводить не обязательно, можно пропустить, нажав Enter.
Если необходимо предоставить пользователю возможность включать административные права, выполним команду:
gpasswd -a xrdpuser sudo
7. Для работы на сервере можно устанавливать необходимое Вам программное обеспечение.
Например, веб-браузер Mozilla Firefox (с пакетом русской локализации):
apt install firefox firefox-locale-ru
Программу для работы с почтой (почтовый клиент) Mozilla Thunderbird:
apt install thunderbird thunderbird-locale-ru
Офисный пакет (программы для работы с документами) LibreOffice:
apt install libreoffice libreoffice-l10n-ru libreoffice-help-ru
8. Для подключения к серверу с операционной системы Windows, будем использовать стандартную программу «Подключение к удаленному рабочему столу».
В поле Компьютер укажите IP Вашего сервера и нажмите Подключить.
В окне подтверждения запроса сертификата нажмите Да, после чего можно увидеть окно запроса данных доступа к серверу. Введите имя пользователя и пароль, созданного в пункте 6:
После чего откроется окно рабочего стола графической оболочки xfce, установленной на сервере.
в которой можно запускать стандартные и установленные ранее программы.