RDP-клиенты для Linux
RDP ( сокращение «Remote Desktop Protocol») — это проприетарный протокол для доступа к удаленному рабочему столу. По умолчанию он установлен во все современные ОС линейки Windows, однако в качестве сервера может выступать и линукс-система с графическим интерфейсом и установленным пакетом xrdp. В рамках этой статьи мы сосредоточимся на linux rdp клиентах и их настройке, а также рассмотрим основные принципы его работы.
Remote Desktop Protocol
RDP расположен на прикладном уровне сетевой модели OSI и работает на основе протокола транспортного уровня TCP. Схема его работы выглядит следующим образом:
- Устанавливается соединение с помощью TCP на транспортном уровне;
- Инициализируется сессия RDP;
- Аутентифицируется RDP-клиента и согласовываются параметры передачи данных;
- Реализуется сеанс удаленной работы: на RDP-клиент получает управление над сервером.
Сервер — это компьютер, К которому происходит удаленное подключение. RDP-клиент — приложение на компьютере, С которого происходит подключение. Во время сессии все вычислительные процессы лежат на плечах сервера. На RDP-клиент поступает графический интерфейс ОС сервера, которой RDP-клиент управляет с помощью устройств ввода. Графический интерфейс на RDP-клиент поступает в виде точной копии графического вывода ОС сервера или в виде графических примитивов (прямоугольники, круги, текст и т.п.) для экономии трафика. По умолчанию RDP использует порт 3389, но его можно поменять при необходимости.
Пример использования RDP — управление с linux удаленным рабочим столом Windows. Находясь в любой точке мира, вы можете подключиться к нему через интернет и работать, не задумываясь о производительности вашего RDP-клиента.
Изначально RDP появился в WIndows NT 4.0. По умолчанию этот протокол предустановлен во всех ОС линейки Windows. Однако реализация Linux remote desktop требует установки специального программного обеспечения.
Безопасность RDP
Для обеспечения безопасности RDP-сессии используются два метода: внутренний и внешний.
Standart RDP Security — это внутренняя подсистема безопасности. Сервер генерирует ключи RSA и сертификат открытого ключа. Во время подключения RDP клиент получает их. В случае подтверждения проводится аутентификация.
Enhanced RDP Security — это метод обеспечения безопасности с помощью внешних средств. Существуют различные способы обеспечения защиты передаваемых данных, например, протокол TLS.
Плюсы RDP
- RDP непривередлив к сети: он может работать через VPN, NAT, по TCP или UDP. Поддерживает переадресацию и т.п. Также RDP устойчив к разрывам связи;
- Для работы достаточно 300-500 кбит скорости;
- Мощный сервер позволяет запускать на слабом RDP-клиенте тяжелые приложения;
- Возможность сеанса подключения linux rdp to windows.
Минусы RDP
- Использование приложений, требовательных к пингу (времени отклика), такие, как игры или просмотр видео, может быть затруднено;
- Требование к стабильности сервера;
- Передача данных (файлов, документов) между rdp-клиентом и сервером из-за скорости интернета может быть усложнена.
Настройка RDP-сервера на Windows
Наиболее распространенный сценарий использования RDP — подключение к выделенному Windows-серверу с компьютера, работающего под другой системой, например с помощью linux-клиента.
Выгодно арендовать выделенный сервер можно на cloud.timeweb.com
Чтобы сделать удаленный доступ с клиента в принципе возможным, необходимо правильно настроить целевое устройство. Сама настройка довольно простая — все должно работать «из коробки» во всех современных Windows системах (в большинстве редакций). Как уже упоминалось, rdp клиент windows также предустановлен в большинстве современных систем.
Сначала разрешаем подключение к компьютеру через RDP. Делается это во вкладке Удаленный доступ в Свойствах системы :
Также тут можно выбрать пользователей, у которых будет доступ (по умолчанию только у администратора).
Не лишним будет проверить настройки брандмауэра, который может блокировать соединение. В некоторых системах профиль «Общий» и «Частный» для входящих подключений RDP по умолчанию выключен, и, если сервер не входит в домен, то RDP работать не будет. Поэтому переходим в Брандмауэр Windows->Разрешенные приложения и ставим необходимые галочки:
Если система находится за роутером, то возможно понадобится настройка портов. Сделать это можно через веб-интерфейс роутера в разделе Port Forwarding (зависит от модели роутера). Напомним, что RDP использует порт TCP 3389 по умолчанию.
RDP-клиенты для linux
rdesktop
Rdesktop linux — это свободный, легкий и надежный RDP-клиент (лицензия GPL), доступный для Linux, BSD и Microsoft Windows. Реализует большинство функций RDP 5: кеширование bitmap, сжатие и шифрование потоков, автоматическую аутентификацию, RemoteApp, NLA. Также поддерживает RDP 4.0, используемый в Windows NT 4.0 Terminal Server Edition и Windows 2000 Server.
Содержится в репозиториях многих дистрибутивов, так что скачать и установить ubuntu rdp client или debian rdp client можно с помощью пакетного менеджера. Например, в Ubuntu это делается командой:
sudo apt install rdesktop
Подключение и настройка происходит полностью в командной строке. Формат rdp команды:
rdesktop [опция] сервер[:порт]
- -u — логин юзера удаленной машины;
- -p — пароль юзера удаленной машины;
- -f — запуск в полноэкранном режим;
- -g — в окне с разрешением (WIDTHxHEIGHT).
Остальные ключи можно посмотреть в man .
remmina
Remmina linux — программа-клиент удаленного рабочего стола с графическим интерфейсом, написанная на GTK+. Идет под лицензией GPL. Помимо RDP, remmina работает также с протоколами VNC, NXM XDMCP, SPICE, X2Go и SSH.
Одной из главных особенностей является расширение возможностей с помощью плагинов, например добавление поддержки новых протоколов. Поэтому при базовой установке в настройках remmina вы не найдете RDP. Для этого нужно установить дополнительный плагин (пакет freerdp). После этого перезагрузите программу, и RDP станет доступным из меню.
Для добавления нового соединения нажмите выделенную кнопку:
Далее откроется окно с настройкой подключения. Здесь раскрывается еще один плюс Remmina — возможность гибкой настройки (скорость и качество отображения, фоновый рисунок, горячие клавиши, темы оформления, анимации и т.д.). Не волнуйтесь, для обычного подключения вам нужно знать лишь данные пользователя удаленной машины и IP-адрес:
Сохраняем настройку. Теперь мы можем подключаться к нужной машине в два клика из главного меню:
Если возникла необходимость запуска remmina на windows , то на официальном сайте есть соответствующий гайд .
FreeRDP
FreeRDP — форк проекта rdesktop, распространяемый под лицензией Apache. В отличие от своего прародителя, который в последний раз обновлялся в 2019 году, FreeRDP активно поддерживается создателями.
FreeRDP является терминальным клиентом. Запуск и настройка происходят полностью в командной строке. Структура команды и ключи практически такие же, как и у rdesktop, например:
xfreerdp -u USERNAME -p PASSWORD -g WIDTHxHEIGHT IP
С помощью этой команды происходит подключение к серверу по адресу IP под именем USERNAME с паролем PASSWORD с отображением рабочего стола в окне:
Apache Guacamole
Самый простой и при этом самый сложный вариант удаленного управления linux . Простой, потому что не нужно никаких программ, сервисов и клиентов — все работает прямо в браузере. Сложный, потому что для функционирования требуется один раз установить и сконфигурировать сервер.
Apache Guacamole — это клиентский шлюз для удаленного подключения, работающий на HTML5. Он позволяет использовать целый набор протоколов удаленного доступа : Telnet, SSH, VNC, RDP — через веб-интерфейс. Документация по установке и конфигурации сервиса очень внушительна, однако на просторах Интернета есть множество готовых скриптов, которые автоматически помогут сделать базовую конфигурацию.
Скачиваем скрипт установки:
wget https://git.io/fxZq5 -O guac-install.sh
После установки скрипт выдаст адрес для подключения и пароль. Чтобы подключиться к серверу Windows через RDP, в панели администрирования заходим в «Настройки», выбираем «Подключения» и создаем новое:
Так как для RDP нужно знать лишь данные пользователя на удаленной машине и IP-адрес, вводим минимально нужное количество информации:
Теперь на главной странице доступно настроенное подключение, через которое мы можем получить удаленный рабочий стол:
Заключение
RDP протокол — это удобное средство для подключения к удаленной машине под управлением Windows или Linux-системы с графическим интерфейсом. Сервер практически не требует настроек, кроме пары галочек и конфигурации брандмауэра, а клиентские программы радуют своим разнообразием.