Подключение к удаленному рабочему столу linux

Обновлено: 02.07.2024

Этичный хакинг и тестирование на проникновение, информационная безопасность

Оглавление: Всё о RDP: от настройки до взлома

Теперь рассмотрим, как из Linux подключиться к удалённому столу Windows.

Как подключиться к удалённому столу по RDP в Linux

Клиенты RDP существуют для многих платформ, даже для мобильных телефонов, конечно, имеются клиенты RDP и для Linux

Мы рассмотрим 2 клиента RDP под Linux

  • freerdp — бесплатная реализация протокола удалённого рабочего стола (Remote Desktop Protocol (RDP))
  • rdesktop — клиент с открытым исходным кодом для служб Windows удалённого рабочего стола

Также имеется клиент VNC и RDP с графическим пользовательским интерфейсом — Remmina. У программы много настроек, в целом она дружественная пользователю за исключением одного недостатка — она не заработала. Тем не менее она присутствует в стандартных репозиториях большинства дистрибутивов, поэтому при желании вы без труда сможете установить и попробовать её.

Как пользоваться freerdp

Для установки freerdp в Debian, Kali Linux, Linux Mint, Ubuntu и производные выполните команду:

Если пакеты freerdp2-x11 и freerdp2-shadow-x11 не найдены, то поищите пакет с именем freerdp.

Для установки freerdp в Arch Linux и производные выполните команду:

Как подключиться командой freerdp

Для подключения к удалённому рабочему столу с помощью xfreerdp, запустите команду вида:

  • /f — опция означает открыть удалённый стол в полноэкранном режиме
  • /u:ИМЯ-ПОЛЬЗОВАТЕЛЯ — имя учётной записи на компьютере, к которому подключаемся
  • /p:ПАРОЛЬ — пароль указанной учётной записи
  • /v:ХОСТ[:ПОРТ] — IP адрес или имя компьютера, к удалённому столу которого выполняется подключение. ПОРТ указывать необязательно

Например, я хочу открыть удалённый стол компьютера с IP адресом 192.168.0.101, на котором имеется пользователь Tester с паролем 1234, причём я хочу открыть удалённый рабочий стол в полноэкранном режиме, тогда команда следующая:

Для переключения между полноэкранным режимом и оконным, используется сочетание клавиш Ctrl+Alt+Enter.


Поскольку используются самоподписанные сертификаты без добавленного в хранилище приватного CA (центра аутентификации, удостоверяющего центра), то единственный выбор, это согласиться доверять указанному сертификату, для этого введите Y.

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

  • нажать крестик на верхней панели
  • меню «Пуск» → Выключение → Отключиться


Для запуска в оконном режиме не используйте опцию /f:


Опции xfreerdp

У программы xfreerdp множество опций, далее выбраны самые интересные из них:

Как в freerdp создать общие папки

С удалённым рабочим столом, подключённым по RDP, можно иметь совместные папки. Рассмотрим несколько примеров.

Чтобы подключить все точки монтирования в текущей системе как совместные папки на удалённом рабочем столе используйте опцию +drives, например:

На скриншоте показан удалённый стол Windows, в котором доступны папки Linux системы, из которой сделано подключение по RDP:


Чтобы подключить только домашнюю папку текущего пользователя Linux в качестве сетевой папки к компьютеру по RDP укажите опцию +home-drive:

В этом случае домашняя папка смонтирована в систему, подключённую по протоколу удалённый рабочий стол:


С опцией /drive:ИМЯ,/ПУТЬ/В/LINUX можно подключить любую папку с любым именем. В качестве /ПУТЬ/В/LINUX должен быть указан путь в текущей системе, а ИМЯ это то имя, которое будет иметь шара в удалённой системе. Например, чтобы подключить корневую папку текущей системы (/) к удалённой с именем root:

Как вывести удалённый рабочий стол на другой монитор

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

Как установить размер окна удалённого рабочего стола

Если вместо высоты (h) установлена ширина (w), примерно как /size:50%w, то будет использоваться 50 процентов ширины.

Как пользоваться rdesktop

Для установки rdesktop в Debian, Kali Linux, Linux Mint, Ubuntu и производные выполните команду:

Для установки rdesktop в Arch Linux и производные выполните команду:

Как подключиться к удалённому рабочему столу с rdesktop

Для подключения к RDP с rdesktop используйте команду вида:

Как обычно, в самом начале возникнет проблема с сертификатом:


Набираем yes.

Затем возникнет ошибка:

Другой вариант, который позволяет подключиться к Windows по RDP с помощью rdesktop без настройки Network Level Authentication (NLA) — это отключить аутентификацию на уровне сети в Windows. Понятно, что это ослабит безопасность RDP, поэтому не рекомендуется. Но как «быстрый грязный фикс» это можно сделать следующим образом: Меню «Пуск» → Параметры → Система → Удалённый рабочий стол → Дополнительные параметры → Снять галочку с «Требовать использование компьютерами аутентификации на уровне сети для подключения (рекомендуется)»:


Всё равно продолжить:


После этого подключение rdesktop проходит без ошибок:


В настройках Windows вы могли увидеть ссылку «Почему следует разрешать подключения только с проверкой подлинности на уровне сети?», там написано следующее:

Если вы хотите ограничить доступ к компьютеру, разрешите доступ только с проверкой подлинности на уровне сети (NLA). При включении этого параметра пользователи должны пройти аутентификацию в сети, чтобы подключиться к компьютеру. Разрешение подключений только с компьютеров с удаленным рабочим столом с NLA является более безопасным методом проверки подлинности, который поможет защитить компьютер от злоумышленников и вредоносных программ. Чтобы узнать больше о NLA и удаленном рабочем столе, ознакомьтесь с разделом Configure Network Level Authentication for Remote Desktop Services Connections (Настройка NLA для подключения к удаленному рабочему столу).

Если вы подключаетесь удаленно к компьютеру в своей домашней сети, не находясь в этой сети, не выбирайте этот параметр.

Как установить сервер RDP в Linux

Сервер удалённого рабочего стола RDP может работать не только на Windows, но и на Linux. В результате к Linux можно подключиться по протоколу RDP.

В Linux протокол RDP не встроен по умолчанию как в Windows. Также в Linux отсутствуют некоторые другие протоколы, которые используются прозрачно (незаметно) для пользователей Windows, например, для сетевой аутентификации.

Тем не менее существуют сервера RDP которые успешно работают на Linux.

Как использовать freerdp-shadow для запуска RDP сервера

Для установки freerdp в Debian, Kali Linux, Linux Mint, Ubuntu и производные выполните команду:

Для установки freerdp в Arch Linux и производные выполните команду:

Исполнимые файлы в разных дистрибутивах называются чуть по-разному. В Debian, Kali Linux, Linux Mint, Ubuntu файл для запуска RDP сервера называется: freerdp-shadow-x11

А в Arch Linux файл для запуска RDP сервера называется: freerdp-shadow-cli

Но по сути это одна программа и опции у них одинаковые.

Чуть выше, говоря о rdesktop, мы уже столкнулись с Network Level Authentication (NLA), то есть проверкой подлинности на уровне сети. Для запуска RDP сервера на Linux вы должны выбрать один из двух вариантов:

  • запустить сервер вовсе без аутентификации
  • включить NLA и сделать необходимые для неё настройки

Чтобы запустить RDP сервер вовсе без аутентификации используйте опцию -auth:

Если аутентификация включена, PAM используется с подсистемой X11. Запуск от имени пользователя root не обязателен, однако, если запускать от имени пользователя, только тот же пользователь, который запустил freerdp-shadow, может аутентифицироваться. Предупреждение: если аутентификация отключена, каждый может подключиться.

Любая сетевая служба без аутентификации это беда для безопасности системы. Поэтому рассмотрим, как запустить freerdp-shadow с поддержкой NLA.

Прежде всего для NLA необходимо создать файл, в котором будет строка вида:

Имя пользователя Linux нам известно, для вычисления хеша нужно выполнить команду вида:

К примеру, имя пользователя mial, а пароль цифра 2 тогда команда следующая:

Создаём текстовый файл SAM и в него записываем строку

Теперь запускаем freerdp-shadow-x11 с двумя опциями:

  • /sam-file:ФАЙЛ — указывает на расположение NTLM SAM файла для NLA аутентификации
  • /sec:nla — принудительное включение аутентификации по протоколу NLA

Итак, моя команда следующая:

Для проверки подключаюсь из Windows:


У нас запрашивают пароль — это означает, что на сервере RDP включена аутентификация NLA.

Для того, чтобы делиться не всем экраном, а только его частью, используйте опцию /rect:x,y,w,h. Где:

  • x,y — координаты верхнего левого угла прямоугольника
  • w — ширина прямоугольника
  • h — высота прямоугольника

Если при запуске RDP сервера freerdp-shadow вы получили ошибку:

То необходимо создать файл SAM и запустить freerdp-shadow с опциями /sam-file:SAM /sec:nla как это показано выше.

Как запустить RDP сервер с xrdp

Для установки xrdp в Debian, Kali Linux, Linux Mint, Ubuntu и производные выполните команду:

Для установки xrdp в Arch Linux и производные выполните команды:

Для запуска служб xrdp-sesman и xrdp в любом дистрибутиве выполните команду:

Важные файлы xrdp:

  • /etc/xrdp/xrdp.ini — файл настроек
  • /var/log/xrdp.log — файл журналов событий

Подключаемся из Windows к xrdp. Вводим имя пользователя и пароль пользователя Linux:


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


Как из Linux подключиться к другому Linux по RDP

Каких-то особенностей при подключении с использованием программы xfreerdp нет, достаточно запустить сервер RDP, причём, если вы используете freerdp-shadow, то опции /sam-file:SAM /sec:nla также нужны:

Либо запустите xrdp-sesman и xrdp.

А затем подключение ничем не отключается от подключению к Windows:

Что касается rdesktop, то её не удалось заставить работать ни с одним из рассмотренных серверов RDP под Linux — если вы знаете, как это сделать, то пишите в комментариях.

Контроль над удаленным компьютером может рассматриваться как акт агрессии, но иногда он просто необходим.

Известны случаи, когда пользователи используют удаленные сессии для уже используемой машины (звучит необычно, но имеет место быть для организации работы с несколькими рабочими столами). Большинство пользователей не знают, когда именно им понадобится данная функциональность.

Опытные пользователи Unix-систем часто говорят о SSH и командной строке, как об инструментах получения доступа к графическому рабочему столу, но существуют отдельные приложения для данной цели.

Портал Techradar протестировал систему VNC и ее функции во многих клиентах. Тем не менее, существуют другие протоколы и виды доступа к удаленному рабочему столу. Растущая популярность подобных клиентов заключается в поддержке нескольких протоколов передачи, поэтому независимо от типа используемого сервера и целевой машины, Вы найдете подходящее решение.

Исследователи придерживались принципа справедливой оценки различных протоколов. Например, NoMachine NX поддерживает подключения VNC, но он проверялся в связке с собственным сервером NX, что вполне разумно.

Клиент TightVNC не тестировался, потому что он очень схож с реализацией TigerVNC. Оба продукта имеют одинаковую кодовую базу, но TigerVNC имеет несколько дополнительных функций.

Как проходило тестирование

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

При тестировании проверялась способность удаленно воспроизводить игру Armegatron. В этой нетребовательная игре на OpenGL на обновление экрана требуются доли секунд времени. Результаты могут быть несколько субъективны, но данный способ оказался очень действенным при демонстрации отзывчивости клиентов.

Клиенты были протестированы совместно с локальным компьютером с 4-х ядерным процессором и 16 гигабайтами памяти в гигабитной локальной сети под Ubuntu 14.04.3. В качестве серверов использовался сервер X11 VNC и официальный сервер NX для клиентов NX. Функциональность на базе протокола RDP поддерживается некоторыми продуктами, но на практике не была протестирована.

Сами клиенты работали на виртуальной машине с 2-х ядерным процессом Core i7, 4Гб ОЗУ и Fedora 23.

RealVNC Viewer

RealVNC Viewer

RealVNC - это автономная программа для подключения к компьютерам по протоколу VNC. После загрузки, пользователь должен открыть терминал, перейти в директорию с программой и задать права доступа chmod 700 для запуска приложения.

Это родительская программа для TigerVNC, но содержит меньшее количество опции. Тем не менее, приложение умеет автоматически определять VNC сервера, упрощая и ускоряя подключение. Выберите “Опции”, и Вы сможете изменять размер окна, адаптируя его под ваш монитор, работать в полноэкранном режиме и переопределять автоматические параметры сжатия для принудительного отображения более 256 цветов.

Подключение выполняется быстро и просто, но производительность отстает от других просмотрщиков VNC в данном тесте. Фиксировались существенные замедления при работе с рабочим столом и при запуске Armegatron, которые оценивались примерно в полсекунды.

Технологии матричного растрирования или дизеринга затрудняли работу, когда происходили глюки, во время тестирования это наблюдалось несколько раз. Аналогичные проблемы наблюдались и с копиями RealVNC, которые включают меньшее количество опций. TigerVNC является отдельной ветвью развития кодовой базы VNC, поэтому содержит участки кода из RealVNC и TightVNC, хотя процесс разработки последних продолжается.

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

Вывод: далеко не самый быстрый клиент, но подойдет для случаев экстренного доступа.

Remmina

Remmina

Remmina не является официальным Gnome-клиентом, но определенно внешне очень напоминает рабочий стол Gnome со стилями GTK. Хорошо проработанные шаблоны работают отлично как на небольшом ноутбуке, так и на гигантском мониторе.

Минималистичный главный экран содержит панель инструментов и список доступных подключений. После подключения, открывается новое окно с отображением удаленного рабочего стола. Несколько подключений можно контролировать с помощью именованных вкладок.

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

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

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

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

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

Вывод: отличные функции, отличная производительность, неясно, что можно улучшить.

TeamViewer

TeamViewer

TeamViewer является очень известным именем, и решение очень популярно среди корпоративных пользователей. Linux-версия приложения вышла из бета-стадии сравнительно недавно, на сайте предлагаются пакеты deb и rpm, но будьте осторожны - фактически это программа для Windows с оберткой в виде Wine.

Первым преимуществом, а может в некоторых случаях и недостатком является использование проприетраного протокола, который организует подключение к клиенту через управляющий центральный сервер.

Другое преимущество, связанное с большим количеством доступных клиентов, заключается в том, что пользователь может просматривать удаленную систему практически отовсюду, даже на заблокированных системах, в которых недоступно SSH подключение или даже на машинах с активными корпоративными фаерволами. Решение поддерживает Windows и Mac, а значит является простым способом управления машинами на различных ОС.

Команда TeamViewer серьезно поработала над улучшением производительности, а последняя версия обещает увеличить скорость работы в 15 раз по сравнению с предыдущими версиями. Armagetron работал также плавно, как и в случае с Remmina, радуя приличным качеством графики во время локального подключения.

Есть дополнительные преимущества использования проприетарного протокола. TeamViewer может работать с аудио-потоком, включает чат, функцию передачи данных и даже сервис IP-телефонии.

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

За последние несколько лет TeamViewer развился в привлекательную альтернативу традиционным подключениям VNC, особенно если Вам требуется кроссплатформенность.

Вывод: TeamViewer стал полноценным мощным продуктом, который является прекрасной альтернативой традиционным сервисам, несмотря на то, что программа не сильно приветствуется поклонниками открытого ПО.

TigerVNC

TigerVNC

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

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

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

Если сравнивать с другими клиентами VNC, то продукт работал быстрее, чем Vinagre и был практически наравне с Remmina. Долговременные проблемы обновления в новой версии похоже отсутствуют - никаких обрезанных окон или искаженных фоновых изображений во время испытания не было зафиксировано.

Что касается времени отклика, как курсор мыши, так и нажатия клавиатуры работали быстро и стабильно. Функция масштабирования отсутствует, за исключением полноэкранного режима, поэтому при использовании небольших мониторов на локальной машине могут отображаться полосы прокрутки.

Клиент достаточно полнофункционален и был изначально предназначен для системных администраторов, но даже в этом случае некоторые элементарные удобства были бы очень кстати. Согласитесь, даже опытный IT-инженер не всегда хочет вручную вводить IP-адрес для подключения.

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

Vinagre

Vinagre

Хотя название приложения больше вызывает вкусовые ассоциации, данный просмотрщик удаленного рабочего стола можно найти в стандартном меню Gnome, потому что утилита фактически является составной частью рабочего стола Gnome. При запуске инструмента открывается обычное окно.

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

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

Как и другие протестированные клиенты VNC, производительность программы зависит от сервера и активированных функций.

Vinagre тестировался в паре с сервером X11VNC и с Vino. Vino обладает графической оболочкой и является VNC сервером, разработанным для простого обмена экранами между компьютерами. Никаких проблем при подключении к удаленному экрану и при использовании параметров сервера Vino, в частности сжатия и глубины цвета, не наблюдалось.

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

При тестировании не удалось добиться нормальной работы Armagetron из-за потери управления с клавиатуры после запуска игры, что сделало невозможным оценку его возможностей. Это очень серьезная неприятность, а интерфейс приложения является одним из самых дружественных.

Вывод: простой в использовании клиент, работает неплохо до тех пор, пока не потеряете из виду курсор.

Krdc

Так как Vinagre тестировался в паре с сервером-компаньоном, при тестировании Krdc использовалось стандартное окружение KDE, как на клиентской, так на серверной стороне, а качестве сервера выступал Krfb сервер.

Несмотря на то, что в продукте реализованы аналогичные с остальными участниками тестирования протоколы VNC, данная комбинация оказалась худшей по отзывчивости после TeamViewer. Krdc работал гораздо лучше со стандартным VNC сервером и с X11VNC, чем с Krfb.

При отказе от Krfb, клиент Krdc работал совсем неплохо. При тестировании в Armegatron время отклика было на одном уровне с конкурентами. Отзывчивость и скорость передачи кадров были на высоте, даже в случаях, когда Krdc испытывал некоторые проблемы с искажением фоновых изображений.

Для изменения опций отображения доступна кнопка для переключения полноэкранного и масштабируемого режимов просмотра. Поддерживаются вкладки для одновременного отображения нескольких подключений, и имеется боковая панель справа, отображающая закладки, недавние подключения и обнаруженные в локальной сети сервера.

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

Тем не менее, работа с Krdc была лишена каких-либо затруднений. Клиент поддерживает протокол RDP, используемый для удаленного доступа к системам Windows. При добавлении плагина NX решение могло бы быть еще более полезным. Если Вы работаете в KDE, и вам нужен клиент VNC для редких случаев, нет убедительных причин для отказа от Krdc.

Вывод: в паре с Krfb фиксируется низкая производительность, но клиентская сторона при этом отличается высокой эффективностью.

NoMachine NX Client

NoMachine NX Client

NoMachine стремится вернуть былое величие, но серьезное нагромождение возможностей не учитывает самый главный аспект- взаимодействие сервера и клиента. Подход приложения отличается от других стандартных просмотрщиков VNC.

Протокол NX работает по SSH. Эта мера добавляет безопасность и другие преимущества, которые не свойственны протоколу VNC. Продукт использует интеллектуальные методы шифрования и сжатия данных, оптимизировано использует кеш для экономии пропускной способности сети. Если Вы хотите сохранить полосу пропускания, можно пойти на другие хитрости, например, использовать аудио-поток хост-машины для передачи.

Преимущество использования SSH заключается в том, что, если Вы используете учетную запись на целевой машине, можно просто авторизоваться и запустить новый сеанс. Захватить уже запущенный экран является трудной задачей, хотя NoMachine может справляться с ней с помощью стандартного подключения VNC путем запуска параллельного сеанса (так называемой Shadow сессии).

Сессии Shadow работают стабильно и, в зависимости от настроек, удаленная машина может автоматически подтвердить подключение. Как правило, в этом случае подключение работает медленнее, чем при разделении на потоки собственного сеанса.

Также, как и VNC, NoMachine также поддерживает RPC для машин Windows с аналогичным интерфейсом, что позволяет использовать программу в качестве основного инструмента удаленного доступа. Хотя клиентское ПО позволяет настраивать подключения и сохранять настройки, оно понравится не всем пользователям.

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

NX на протоколе NX дает наилучшую производительность, а полная кроссплатформенность с поддержкой Mac и Windows делает клиент отличным выбором, несмотря на некоторые ограничения бесплатной версии.

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

Окончательный вывод

Опустив реальные проблемы некоторых клиентов, заметим, что существует целое противоборство идеологий программ удаленного доступа для Linux. Надо признать, что NoMachine, несмотря на отказ от стандартных технологий VNC превосходно справляется со своей задачей.

При тестировании, игра на графической платформе OpenGL работала шустро, и в нее можно было комфортно играть. NoMachine может быть довольно сложен в настройке, зато в работе он проявил себя лучше большинства конкурентов. Протокол NX еще можно совершенствовать, но клиентское ПО обладает широкими возможностями.

Утилита Krdc из стандартного набора KDE отработала тоже хорошо, несмотря на катастрофические результаты при тестировании с сервером-компаньоном. Возможно, для многих пользователей Krdc это будет серьезной проблемой, ведь по умолчанию они могут использовать эту пару вместе, разочаровавшись в производительности. Если Вы работаете с рабочими столами KDE и нуждаетесь в простом клиенте VNC, вероятно вам стоит подыскать другой вариант.

TeamViewer был серьезно улучшен за последние годы. Он стал быстрым, отзывчивым и простым в использовании. Дополнительные возможности, а именно IP-телефония и чат делают программу отличным выбором для пользователей, которым важно коммуникативное взаимодействие с удаленными пользователями. Программа имеет закрытый исходный код и не поставляется с системой, что может разочаровать ряд пользователей.

Remmina показал образцовую производительность - только TigerVNC сработал быстрее, но это еще не все достоинства программы. Remmina продемонстрировал лучшие показатели отзывчивости среди всех клиентов. Таким образом, при использовании решения Вы сможете взаимодействовать с удаленной машиной как с компьютером в локальной сети.

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

Remmina поддерживает протокол NX, отлично справляется с обнаружением серверов и сохранением подключений и в конечном итоге становится лидером тестирования программ удаленного доступа для Linux.

RDP клиенты удаленного доступа для Linux

RDP (Remote Desktop Protocol) — протокол доступа к удаленному рабочему столу, созданный Microsoft. Он поддерживается почти любой современной ОС. В этой статье предлагаем взглянуть на несколько популярных клиентов удаленного доступа для Linux.

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

Для чего нужны RDP клиенты?

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

Популярные Linux RDP клиенты

Remmina


Источник

Remmina идет под лицензией GNU GPL и имеет открытый исходный код.

Установка Remmina

Remmina устанавливается через терминал:

В дистрибутивах Ubuntu, как правило, уже имеется клиент Remmina, однако, версия обычно устаревшая поэтому рекомендуется ее обновить.


Обновление Remmina

В терминале нужно ввести команду:


Затем запросите обновление списка системных хранилищ:


Следующий шаг — установка или обновление плагина протокола RDP:


Чтобы завершить установку Remmina Linux RDP client, закройте активные сеансы приложения из терминала: sudo killall remmina. Затем откройте обновленный клиент заново и перейдите к конфигурации соединения.

Настройка Remmina


Если нужны настройки Remmina Remote Desktop Client, откройте меню Preferences (параметры) нажатием на иконку в правой верхней части окна.

Подключение по RDP к удаленной машине

Давайте рассмотрим как работает подключение по RDP к удаленной машине на примере Remmina.



Поддерживаются соединения с 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 из терминала производится командой:


Поскольку Apache Guacamole — серверный клиент, требуется установить Tomcat Server на вашу машину, после чего программа установки попросит его перезапустить.

По умолчанию Apache Guacamole устанавливается с поддержкой только протокола VNC. Чтобы иметь возможность подключаться по SSH или RDP, необходимо установить дополнительно клиент для желаемого протокола. Сделать это можно следующей командой:

В более новые версии дистрибутивов Linux клиенты, необходимые для подключения по протоколу RDP, могут быть уже включены.

Настройка Apache Guacamole

После установки Apache Guacamole автоматически применяет минимально необходимые для запуска настройки. Основным файлом конфигурации Apache Guacamole является guacamole.properties.

Все подробности об установке, настройке и управлении Apache Guacamole детально описаны в руководстве на официальном сайте.

Клиент Apache Guacamole максимально прост в использовании. Для запуска шлюза доступа к удаленному рабочему столу без клиента требуется иметь только браузер с поддержкой HTML5. Сама работа показана в коротком видео.

FreeRDP


Источник

Еще один бесплатный RDP клиент для Linux — FreeRDP. FreeRDP имеет лицензию Apache и открытый исходный код. Его можно встретить включенным в некоторые дистрибутивы Linux.

Установка FreeRDP

Актуальную на момент написания статьи версию FreeRDP можно установить командой из терминала:

Настройка FreeRDP

FreeRDP — терминальный клиент, поэтому все настройки для подключения вводятся одной командой:

  • -u username — имя удаленного компьютера, к которому хотите подключиться;
  • -p password — пароль учетной записи;
  • -g 1280×1024 — разрешение экрана;
  • XXX.XXX.XXX.XXX — IP удаленного компьютера.

Полный синтаксис можно найти в интернете.

Чтобы не вводить команду заново каждый раз, вы можете создать ярлык подключения со всеми необходимыми параметрами. Для этого, после установки FreeRDP, откройте окно терминала, запустите редактор nano: sudo nano

/rdp.sh. В появившемся окне введите следующие строки и сохраните файл:

Первая строка — это директория для ярлыка, а вторая строка — команда запуска FreeRDP со всеми требуемыми параметрами. FreeRDP также можно использовать совместно с клиентом Remmina в качестве графического интерфейса.

TigerVNC


Источник

TigerVNC — это полностью бесплатный клиент, он имеет открытый исходный код. Он отличается от предыдущих клиентов удаленного доступа тем, что он работает только по протоколу VNC.

Установка TigerVNC

Для работы TigerVNC требуется окружение рабочего стола. Мы выбрали окружение Gnome, установили его следующими командами:

Затем, чтобы установить компоненты TigerVNC, введите в окне терминала:

Если установка прошла успешно, запустите VNC-сервер: vncserver. Создастся дефолтная конфигурация, а от вас потребуется задать пароль для TigerVNC длиной от 6 до 8 символов.


Настройка TigerVNC

Следующим шагом вы должны будете настроить рабочее окружение для работы с TigerVNC. Чтобы избежать конфликтов, следует приостановить активный VNC-сервер командой в терминале: vncserver -kill :1.

Затем введите команду vi

/.vnc/xstartup, чтобы добавить файл xstartup в каталог конфигурации рабочего стола, откроется редактор.

В редакторе пропишите пять строк:

Эти строки будут выполняться при каждом запуске TigerVNC сервера. Сохраните файл, задайте ему разрешения:

Возобновите работу сервера, введя в терминале:

  • :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 в дистрибутиве отсутствует, то установить его можно командой:

Настройка rdesktop

Подключение к удаленному рабочему столу производится из терминала командой:

Команда использует следующий синтаксис:

  • -z — использовать сжатие потока;
  • -P — использовать кэширование;
  • -g/-f — оконный/полноэкранный режим;
  • -u — имя пользователя удаленной машины;
  • -p — пароль.для входа в учетную запись удаленного компьютера.

Это только некоторые из доступных команд, полный список легко находится в интернете.

Если вы в поиске простого и надежного клиента, который поддерживал бы также функции RDP4, то rdesktop будет оптимальным выбором.

Vinagre


Источник

Vinagre входит в стандартное окружение Gnome и по сути является официальным RDP клиентом Gnome. Это значит, что клиент Vinagre уже должен быть включен в ваш дистрибутив Linux с окружением Gnome, и его установка не потребуется.

Установка Vinagre

Если по какой-то причине клиент 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 — бесплатный RDP клиент с открытым исходным кодом, идущий под лицензией GPL v.3. Krdc может работать по VNC и по RDP, клиент является официальным проектом окружения KDE для удаленного доступа.

    Установка Krdc

    Установить Krdc на дистрибутив Linux можно, введя в терминале:


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


    Если у вас есть потребность в простом клиенте удаленного доступа, то Krdc отлично подойдет. Дополнительным плюсом будет возможность выбора протокола подключения: RDP или VNC, по умолчанию поддержка SSH в Krdc отсутствует.

    TeamViewer


    Источник

    TeamViewer — широко известный клиент для удаленного доступа, он является бесплатным только для частного использования. Стоимость корпоративного решения от 2 до 7 тысяч рублей в месяц за одно рабочее место, подробности можно узнать на сайте TeamViewer.

    Одно из преимуществ TeamViewer — кроссплатформенность. После установки приложение позволяет подключаться к удаленному рабочему столу с Linux, Windows, macOS, Android, iOS, Blackberry и даже ChromeOS.

    Установка TeamViewer

    Для установки TeamViewer разработчики рекомендуют скачать пакет установки с официального сайта, после чего установить его через графический интерфейс на обе машины — локальную и удаленную. Установить TeamViewer через терминал можно соответствующими командами для соответствующего пакета, например DEB:


    TeamViewer поддерживает функцию передачи данных по удаленному соединению, через него можно осуществлять доступ к заблокированному устройству, в приложении есть чат. TeamViewer способен работать даже если система не поддерживает SSH или на машине установлен корпоративный файервол. Однако, многие не готовы отдать ему предпочтение из-за закрытого исходного кода и широкого охвата пользователей.

    Заключение

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

    Протокол RDP или Remote Desktop Protocol - это основной протокол удалённого доступа в операционных системах семейства Windows. В современных версиях Windows уже по умолчанию предустановлено всё необходимое программное обеспечение для обеспечения доступа к вашему компьютеру удалённо, а также для удалённого подключения к другим компьютерам с Windows.

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

    Лучшие RDP клиенты в Linux

    1. Remmina


    Для этой операционной системы существует не так много клиентов и это лучший клиент RDP для Linux. У программы есть удобный графический интерфейс, множество различных настроек, возможность сохранения ярлыков для быстрого подключения к удалённым узлам с нужными вам настройками. Но автоматически ярлыки не сохраняются, вам надо будет делать это вручную. Кроме протокола RDP поддерживается VNC и SSH. Программа разрабатывается в рамках проекта FreeRDP, с использованием библиотеки GTK. Есть порт на Qt. Разрабатывается достаточно активно и новые версии выходят раз в несколько месяцев. Для установки достаточно выполнить команду:

    sudo apt install remmina

    2. Gnome Connections


    Это совсем новая утилита, разработка которой стартовала в начале 2020 года. Connections - очень простое приложение, сделанное специально для Gnome и предназначенное для управления удалёнными подключениями. Из протоколов поддерживаются RDP и VNC. В отличие от Remmina, настроек в утилите совсем нет, вы можете только указать адрес и порт компьютера, к которому надо подключится и включить или отключить масштабирование. И всё никаких настроек передачи звука, буфера обмена, захвата клавиш, разрешения экрана нет. Программа всё ещё находится в разработке, но её уже можно установить из Flathub:

    flatpak install flathub org.gnome.Connections

    А для запуска используйте команду:

    flatpak run org.gnome.Connections

    3. Vinagre


    Это ещё одно приложение для Gnome, которое раньше позиционировалось как программа по умолчанию для управления удалёнными соединениями в Gnome. Настроек здесь уже немного больше, по сравнению с Connections, но всё ещё меньше, чем у Remmina. При подключении вы можете выбрать протокол, имя пользователя и разрешение экрана, а также надо ли масштабировать рабочий стол удалённой машины. Из протоколов поддерживается RDP, SSH, SPICE и VNC. Программа довольно простая и свою работу выполняет, но разрабатывается уже не очень активно. Установить в Ubuntu можно командой:

    sudo apt install vinagre

    4. Xfreerdp


    С полностью графическими клиентами RDP для Linux мы закончили. Но есть ещё несколько использующих консольный интерфейс. Первая из них - xfreerdp. Настроек здесь ещё больше чем у Remmina, но задавать их все надо в командной строке. Поддерживается только протокол RDP. Программа достаточно активно разрабатывается и поддерживает все необходимые новшества протокола RDP. Для подключения к серверу используется опция /v. Например:

    xfreerdp /v:ip_сервера:порт /u:имя_пользователя

    Для установки программы в Ubuntu используйте команду:

    sudo apt install freerdp2-x11

    5. Rdesktop


    Последняя в нашем списке консольная утилита rdesktop. Это самая первая реализация клиента RDP для Linux. В далёком 2009 году, проект FreeRDP был создан на основе форка Rdesktop. Сейчас проект почти не развивается, а с 2019 года ищет мэйнтейнера. И у программы есть ещё одна проблема. В новых версиях Windows компания Microsoft добавила новую авторизацию NLA (Network Level Authentication). Программа Rdesktop её не поддерживает, поэтому если вы захотите использовать её для подключения к Windows, эту технологию стоит отключить. Или же вы можете использовать любую другую программу из перечисленных выше. Чтобы подключится к удалённой машине надо просто передать её адрес программе:

    Для установки rdesktop выполните:

    sudo apt install rdesktop

    Выводы

    В этой статье мы разобрали лучшие программы для подключения по RDP из Linux, которые вы можете использовать для своей работы. Может некоторые из них не такие уже и лучшие, но других у нас нет. А каким клиентом пользуетесь вы? Напишите в комментариях!

    Нет похожих записей


    Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.


    Настроить сервер Linux? Возможно, вы настроили его как решение для сетевого хранилища. Или, может быть, у вас есть рабочий компьютер с Linux, медиацентр или простой дополнительный компьютер в другой комнате.

    Как бы то ни было, в какой-то момент вам понадобится удаленный доступ к устройству Linux с ПК с Windows или ноутбука. Итак, каково решение?

    У пользователей Windows есть несколько инструментов, которые обеспечивают простой удаленный рабочий стол из Windows в Linux. Хотите знать, как получить доступ к вашему рабочему столу Linux из Windows? Читай дальше!

    Вам понадобится IP-адрес устройства Linux

    Прежде чем начать, найдите IP-адрес вашего устройства Linux. Это необходимо для всех параметров удаленного подключения, хотя в некоторых случаях подходит имя хоста (сетевое имя устройства).

    IP-адрес устройства будет отображаться.

    Если у Linux есть Ethernet-соединение, адрес будет указан вместе с eth0. Если он подключен по беспроводной сети, найдите IP-адрес, указанный для wlan0.

    Если это не легко или не удобно, есть другой метод, который почти такой же простой. В окне браузера подключитесь к маршрутизатору. Обычно это адрес 192.168.0.1 или 192.168.0.100 . Вы должны быть в состоянии проверить, посмотрев на сам маршрутизатор или на документацию, поставляемую с ним.


    После входа в маршрутизатор найдите опцию «Подключенные устройства» или аналогичную. Просмотрите IP-адреса, чтобы найти ваше устройство Linux по имени хоста. Некоторые маршрутизаторы могут даже отображать операционную систему устройства. Вы найдете IP-адрес, указанный рядом.

    Запишите IP-адрес, так как он понадобится вам позже. И убедитесь, что вы знаете имя пользователя и пароль для вашего компьютера или сервера Linux!

    Как получить доступ к рабочему столу Linux из Windows через RDP

    Перед началом вам необходимо установить программное обеспечение xrdp на вашем Linux-компьютере. Вы можете сделать это лично или используя SSH (см. Ниже) с помощью одной команды:

    Чтобы перевести RDP в Linux, запустите программное обеспечение Remote Desktop на вашем компьютере с Windows. В Windows 8 и более поздних версиях его можно найти с помощью поиска, просто введя буквы «rdp».

    При открытом окне «Подключение к удаленному рабочему столу»:

    Преимущества RDP: хотя настройка может занять немного больше времени, использование RDP обеспечивает высокую надежность и удаленный доступ к рабочему столу в Linux. Это делает его идеальным инструментом для удаленной работы с машинами Linux.

    Если вы планируете использовать RDP на регулярной основе, вы можете сэкономить время, создав эти пользовательские конфигурации для Windows RDP.

    Удаленный В Linux Из Windows С VNC

    Виртуальное сетевое соединение (VNC) также предоставляет удаленный доступ к вашему рабочему столу Linux. Однако, как и в случае с RDP, вам необходимо установить специальное программное обеспечение. На коробке Linux требуется программное обеспечение VNC-сервера; в Windows клиентское приложение.

    После того, как вы это сделаете, установите Inversion-сервер на вашем Linux-компьютере. Это может быть через SSH (см. Следующий раздел) или с физическим доступом к компьютеру.

    Во-первых, в Linux проверьте наличие обновлений:

    Далее выполните эту команду:

    После установки, запустите silentvncserver и установите пароль при появлении запроса.

    Для удаленного подключения к Linux из Windows:


    • Запустите приложение TightVNC Viewer в Windows
    • Введите IP-адрес и номер порта
    • Нажмите Подключиться
    • Введите пароль, который вы установили при появлении запроса

    Преимущества VNC: предлагая быстрый доступ к удаленному ПК, TightVNC имеет свои ограничения. Вы можете выполнять стандартные вычислительные задачи, но действия, связанные со СМИ, строго ограничены.

    Remote Into Linux через SSH

    У вас есть два варианта SSH в Windows:

    1. SSH в Windows PowerShell
    2. Загрузите инструмент PuTTY SSH

    Давайте посмотрим на оба.

    Удаленный доступ к Linux с SSH в Windows PowerShell

    Поэтому, если устройство Linux имеет IP-адрес 192.168.13.123, введите:

    • ssh 192.168.13.123
    • При появлении запроса примите сертификат
    • Введите имя пользователя и пароль

    Теперь у вас есть удаленный SSH-доступ к Linux.

    Подключайтесь к Linux удаленно, используя SSH в PuTTY

    Хотя приложение PuTTY изначально недоступно в Windows, его можно загрузить. PuTTY не установлен, однако. Вместо этого вы просто запускаете загруженный EXE-файл.

    Для удобства рекомендуется создать ярлык на рабочем столе.

    Чтобы использовать PuTTY для SSH:


    • Выберите Session > Host Name
    • Введите имя сети компьютера Linux или введите IP-адрес, который вы указали ранее
    • Выберите SSH, затем Открыть
    • Когда будет предложено принять сертификат для подключения, сделайте это
    • Введите имя пользователя и пароль для входа в ваше устройство Linux

    Преимущества SSH: использование этого метода позволяет быстро вносить изменения в Linux, не пачкая рук. Особенно подходит для установки программного обеспечения и изменения администратора. Это также полезно для настройки следующей опции, VNC! SSH также идеально подходит для серверов без установленной среды рабочего стола.

    Однако, если вам нужно удаленное подключение к рабочему столу Linux, попробуйте VNC или RDP.

    Три способа удаленного управления Linux из Windows

    Независимо от вашего варианта использования, есть подходящий вариант для удаленного доступа к устройству Linux из Windows. Эти методы работают независимо от того, является ли устройство сервером, настольным ПК на работе, медиацентром или даже Raspberry Pi.

    От простого к сложному удаленного доступа к Linux из Windows, используя:

    • RDP (протокол удаленного рабочего стола)
    • VNC (виртуальное сетевое соединение)
    • SSH (Secure Shell)

    Если ваш дистрибутив Linux является Ubuntu, у вас уже есть встроенный VNC-совместимый инструмент удаленного рабочего стола.

    Читайте также: