Удаленный доступ к Linux: лучшие RDP-решения для вашего рабочего стола
Протокол RDP разработала компания Microsoft в 1998 году, чтобы организовать удаленный доступ с ПК администратора к удаленным хостам или рабочим местам, подключать слабые локальные машины к мощным серверам при делать вычисления. Сейчас RDP-клиенты доступны почти для всех операционных систем, в том числе для Linux. В статье расскажем, что такое RDP, каковы его преимущества и недостатки.

Что означает RDP
Remote Desktop Protocol (RDP) — системный протокол, который позволяет дистанционно подключаться к компьютеру. RDP позволяет управлять рабочим столом, запускать программы и использовать периферийные устройства, например принтеры, сканеры или флешки. А еще RDP используют для организации удаленных рабочих мест.
Еще одно решение для дистанционного подключения к корпоративным ресурсам, помимо RDP, —удаленные рабочие столы, или VDI (Virtual Desktop Infrastructure). Подходят для крупных проектов с высокими требованиями к безопасности и масштабированию.


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

Иногда сервером выступает компьютер под управлением Linux с подключенным сторонним клиентом. Во время активации протокола удаленного доступа на компьютер поступает уведомление от сервера, который пытается подключиться к клиенту. По умолчанию RDP работает через порт 3389, но при желании пользователя его можно поменять.

Сильные и слабые стороны RDP
К преимуществам RDP относятся:
возможность прямого подключения к серверам и компьютерам в локальной сети;
возможность работать в устаревшей локальной инфраструктуре;
получение доступа к данным, которые по юридическим причинам должны храниться в контуре компании, к примеру, к персональным данным;
проведение вычислительных операций на сервере, а не на самом устройстве;
многопользовательский режим;
подключение с любого устройства без дополнительных настроек;
защищенность сессии при обрыве соединения;
при мощном сервере можно работать и на слабом устройстве;
возможна работа со съемными устройствами.
Недостатки RDP:
возможны задержки из-за сквозного шифрования;
для удаленного доступа устанавливать ПО нужно на устройствах обеих сторон;
риски безопасности, особенно в устаревших версиях;
нужен стабильный интернет, RDP-сервисы чувствительны к потере связи;
зависимость от железа;
возможны сложности с просмотром видео и быстрым скроллингом.

Кроме того, у RDP есть ограничение от Microsoft: он позволяет подключаться только одному пользователю к протоколу в версиях Pro Windows и Enterprise. То есть, если пользователь пытается подключиться к уже активному сеансу, система предложит отключить текущий сеанс. Если пользователь не согласится его отключить, новое подключение отклонится. Система будет предлагать пользователю либо отключить текущий сеанс, либо отключить соединение.
RDP-серверы для Linux
Во многие последние версии операционных систем сервер RDP уже интегрирован, но у него часто не хватает нужных функций, поэтому пользователи обращаются к сторонним решениям. Расскажем о самых популярных из них.
xRDP
xRDP — программное обеспечение, которое предназначено для дистанционного управления устройством по RDP. xRDP работает со всеми популярными системами, автоматически восстанавливает прерванную сессию, меняет размер дисплея, поддерживает опцию RDP/VNC-прокси.

Mesh Central
Mesh Central — централизованный сервер, который подключается к удаленным устройствам через установленный на них агент, клиентское ПО для обеспечения работы RDP-сессии. Этот агент позволяет серверу Mesh Central отправлять команды или файлы в фоновом режиме. Также он предоставляет общий доступ к своему экрану, чтобы пользователь мог взаимодействовать с локальным экраном удаленного устройства по принципу AnyDesk или TeamViewer.

Главная особенность Mesh Central в том, что ему не нужен клиент. Пользователь должен сам подключиться к серверу через браузер, а внутри сайта Mesh Central выбрать удаленное устройство и управлять им. Mesh Central не является стандартным для Linux и не так популярен по сравнению с другими решениями, например, AnyDesk.
Apache Guacamole
Чтобы открыть доступ к десктопу на Linux через Apache Guacamole, клиент не нужен. Этот сервер подключается к устройству напрямую через браузер.
Главное преимущество Apache Guacamole — его можно запустить на любом устройстве независимо от ОС или платформы. Более того, необязательно, чтобы устройство физически существовало, Apache Guacamole может работать и с виртуальными десктопами.

RDP-клиенты для Linux
Главная задача RDP-клиента — предоставить доступ к дистанционному использованию и управлению ПК. При помощи такого инструмента пользователь может подключиться к десктопу из любой точки мира через интернет, корпоративную или локальную сеть. Расскажем, какие RDP-клиенты популярны для Linux.
TeamViewer
Сервис позволяет удаленно установить соединение с сетью, устройством или сервером компании, управлять ими из любого места в любое время.
TeamViewer соответствует стандартам GDPR (General Data Protection Regulation): в сервисе используются сквозное шифрование с применением 256-битного стандарта AES, двухфакторная аутентификация, условный доступ, SSO и другие меры безопасности.
Доступны записи сеансов, подключение сразу нескольких пользователей, автоматизация работы благодаря заранее заданным сценариям. Поддерживается мультиплатформенность: с TeamViewer можно подключаться с ПК к телефону или наоборот. А еще можно получить удаленный доступ к выключенному устройству или заблокировать ввод на гаджете, к которому вы подключены.

AnyDesk
Разработчики заявляют высокую производительность, работоспособность и низкую задержку. Для этого серверы работают с использованием языка программирования Erlang. Разработанный компанией кодек DeskRT для увеличения скорости сжимает и передает данные изображения с одного устройства на другое.
Задержка AnyDesk в локальных сетях — менее 16 мс, частота обновления — 60 кадров в секунду. А еще сервис можно использовать в зонах с плохим интернетом, AnyDesk работает при пропускной способности ниже 100 кб/с.

Remmina
Remmina позволяет гибко менять настройки качества соединения, поддерживает широкий спектр протоколов (SSH, VNC, RDP, NX и XDMCP) и подключается ко всем видам удаленных рабочих столов. Однако у сервиса нет собственного серверного ПО.
По умолчанию Remmina хранит настройки удаленного подключения в разделе Настройки. В нем можно найти опции, которые нужны для активации некоторых параметров автосохранения для подключений, определения пользовательских горячих клавиш для общих задач. Есть возможность изменить варианты поведения клиента, определить список разрешений для удаленного рабочего стола.

В интерфейсе Remmina есть вкладки управления сразу несколькими удаленными сеансами из одного окна. При подключении появляются кнопки для выполнения общих задач, например, для переключения в полноэкранный или масштабируемый режим. Также пользователь может моментально менять качество соединения и отправлять команды с клавиатуры на удаленный рабочий стол.
TigerVNC
Ключевое преимущество TigerVNC — простой интерфейс. Можно выбрать кодировку, цвета, уровни сжатия, просмотр экрана удаленного компьютера. Клиент способен делиться буфером обмена с удаленным сервером VNC.
TigerVNC не может автоматически находить серверы в сети, то есть пользователи должны вручную вводить IP-адрес VNC-сервера, чтобы установить соединение.
По умолчанию TigerVNC использует шифрование TLS: хотя приложение шифрует трафик, оно не может проверить подлинность сервера. Однако TigerVNC поддерживает различные другие схемы шифрования, например, X509Vnc.
TigerVNC сохраняет сведения о конфигурации для отдельных подключений в отдельных файлах, которые можно загрузить при последующем подключении или с другого клиентского компьютера.

Rdesktop
Rdesktop поддерживается на Linux и Microsoft Windows. Он выгодно отличается от других аналогичных программ взаимодействием с протоколом RDP 4.0.
Чтобы запустить Rdesktop, нужно сначала проверить его наличие в ОС. Если он уже интегрирован, для активации достаточно команды rdesktop, в противном случае потребуется установка через запрос sudo apt-get install rdesktop.
Альтернативные решения для удаленного доступа
Помимо RDP существуют и другие способы для открытия дистанционного доступа к Linux. Расскажем о самых распространенных.
VNC-серверы и клиенты
Virtual Network Computing (VNC) — протокол, который позволяет клиентам подключаться к определенному серверу, чтобы дистанционно взаимодействовать с рабочим столом компьютера пользователя. При этом серверы и клиенты на основе VNC доступны для Linux, Windows и Mac. Чтобы использовать VNC, сначала нужно установить приложение.

VNC можно настроить двумя способами:
Дублировать экран и управлять им с помощью клавиатуры и мыши.
Получить виртуальный сеанс рабочего стола. Соединение VNC по умолчанию устанавливается на порт TCP 5900. В режиме виртуального сеанса удаленного рабочего стола каждый новый пользователь должен будет подключаться к порту 5900+N, где N — номер подключающегося пользователя, например: 5901, 5902 и так далее.
Преимущества VNC:
Поддержка большинства популярных ОС (Linux, Windows, macOS).
Выбор режимов работы: можно дублировать существующий экран или создавать отдельный виртуальный сеанс.
Многопользовательский режим.
Наличие бесплатных приложений, к примеру TurboVNC или TigerVNC.
Недостатки VNC:
Качество работы сильно ухудшается при низкой пропускной способности сети.
У многих VNC слабые механизмы шифрования и аутентификации.
SSH-туннелирование для удаленного управления
Через SSH-протокол также можно установить соединение с удаленным рабочим столом Linux. Обычно его используют для текстового доступа, однако у SSH есть функция, которая позволяет протоколу переадресовывать Windows 11 для открытия одного графического окна — базового элемента пользовательского интерфейса.

Преимущества SSH:
Надежный протокол SSH.
Стабильный удаленный текстовый доступ.
Многопользовательский режим.
Широкая поддержка на системах семейства UNIX, Linux.
Недостатки SSH:
Скудный интерфейс, чаще всего доступно лишь одно окно приложения.
Более сложная настройка туннелей, которая требует технических знаний.
При работе с графикой может страдать производительность, особенно при ограниченной пропускной способности.
Рекомендации по выбору RDP-решений для Linux
Чтобы найти подходящее решение для дистанционного подключения к рабочему столу, нужно проанализировать каждого из клиентов по ряду параметров:
Узнать о поддержке ОС, так как некоторые клиенты работают только с определенным ПО.
Учесть производительность клиентов. Если устройство старое, лучше выбрать облегченные версии клиента. При этом старые версии могут быть небезопасны из-за уязвимостей.
Для опытных пользователей больше подойдут RDP-клиенты с расширенным интерфейсом, например, Remmina. Они отличаются от других быстрой настраиваемостью и наличием дополнительных функций, такими как горячие клавиши.
Не будет лишним проверить, поддерживает ли клиент несколько сеансов, а также какие есть меры для обеспечения безопасности и конфиденциальности.
Коротко о RDP для Linux
RDP — протокол для дистанционного подключения к интерфейсу десктопов и гаджетов. Поддерживает разные ОС, в том числе и Linux.
RDP-сервер по умолчанию встроен в последние версии различных ОС. Если его функционала недостаточно, можно воспользоваться сторонними серверами: xRDP, Apache Guacamole, Mesh Cenral и другими.
RDP поддерживает популярных клиентов таких, как Remmina, TigerVNC, Rdesktop.