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

Обновлено: 07.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 — если вы знаете, как это сделать, то пишите в комментариях.

В прошлой статье я рассказал как связать две сети с шлюзом Kerio Control в одну. Теперь необходимо было настроить VPN подключения следующим образом: пользователь при подключении к VPN Kerio Control 9.2 имел доступ только к терминальному серверу, а другой пользователь мог бы подключаться не только к терминалу, но и к файловому серверу. И так.

Настройка VPN Сервера

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


Создание пользователя для подключения по VPN

Идём в вкладку Пользователи и жмём Добавить


Отмечаем радиальный чекбокс Этот пользователь имеет отдельную конфигурацию


В вкладке Права ставим галку напротив Пользов. может подключ., используя VPN


Подключение по VPN к удалённой сети

Через Центр управления сетями и общим доступом добавляем новое подключение.


Выбираем Подключение к рабочему месту, VPN.



Прописываем IP адрес VPN сервера Kerio Connect и нажимаем Создать.


После открываем свойства только что созданного VPN-подключения и переходим к вкладке Безопасность. Выбираем тип vpn: Протокол L2TP с IPsec (L2TP/IPsec), Шифрование данных: необязательное (подключать даже без шифрования). И по кнопке Дополнительные параметры прописываем ключ, который ранее мы с вами устанавливали в VPN сервере Kerio Control.


Настройка правил трафика для VPN пользователя

Переходим в настройку Правила трафика межсетевого экрана и проверяем добавляем правило для Клиенты VPN чтобы назначение у них было только к IP терминального сервера 192.168.0.4 (в моём случае). Обратите внимание, что в правиле Локальной трафик вы должны убрать Клиенты VPN. В таком случае все, кто подключился по VPN будут видеть только терминальный сервер.

Настройка правил трафика для пользователей VPN в Kerio Control

Настройка правил трафика для пользователей VPN в Kerio Control

Но далее прилетают задачи, в которых определёным пользователям необходим доступ к Сетевому диску NAS через VPN, а к терминалу нужно запретить. Или кому-то нужен доступ и к тому и к тому. Ну и нам, администраторам нужен полный доступ ко всей сети предприятия. Вы все эти настройки можете посмотреть на скриншоте выше. Я думаю у вас не должно возникнуть вопросов. А если будут, пишите в комментариях.

Заключение

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

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

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

Опытные пользователи 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.

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

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

Удаленный рабочий стол VNC в Ubuntu

Как я уже сказал, в качестве протокола удаленного доступа мы будем применять VNC. А в качестве сервера - стандартный VNC сервер Ubuntu. Надо только немного его настроить.

Откройте главное меню, а затем запустите утилиту Параметры системы. Здесь откройте раздел Общий доступ:

Здесь кликните по пункту Общий доступ к экрану, чтобы открыть окно настроек:

Здесь надо включить переключатель вверху окна, затем напротив поля "Требовать пароль" введите пароль, который будет использоваться для подключения:


Настройки можно закрыть, удаленный рабочий стол Ubuntu настроен. И уже сейчас вы можете пытаться подключиться к вашему компьютеру с помощью другого дистрибутива Linux. Но есть еще один момент. Вы не сможете подключиться из Windows. По умолчанию включено обязательное шифрование. А это поддерживается не всеми клиентами. Чтобы отключить принудительное шифрование нужно установить dconf-editor:

sudo apt install dconf-editor

Затем откройте программу и перейдите по пути org.gnome.desktop.remote-access там сделайте этот пункт Disabled:

Теперь вы готовы тестировать подключение к удаленному рабочему столу Ubuntu. Откройте главное меню и найдите клиент удаленного подключения Remmina.

В строке подключения выберите протокол VNC, затем введите адрес, поскольку мы собрались проверять на локальной машине, то введите localhost, в других же случаях вам придется использовать IP адрес компьютера. Дальше нажмите "Подключиться":

Сразу же программа спросит у вас пароль чтобы получить удаленный доступ к компьютеру:

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

Теперь самое время подключаться из другого компьютера. Вы можете использовать любой VNC клиент для Linux, Windows или Android и подключиться к своему компьютеру если он находится в локальной сети. Кроме того, вы можете получить к нему доступ даже из Интернет создав частную локальную сеть, например, с помощью hamachi или OpenVPN.

Удалённый рабочий стол RDP в Ubuntu

Если вам надо часто подключаться удалённо к Ubuntu из Windows, то лучше использовать протокол разработанный для Windows - RDP. Он тоже уже достаточно старый, но почти везде поддерживается. Для установки RDP сервера выполните:

sudo apt install xrdp

После установки убедитесь, что сервис запущен:

sudo systemctl status rdp

Затем вы можете подключатся к настроенному серверу из Windows стандартными средствами системы или из Linux с помощью утилиты Reminna как в предыдущем варианте, только протокол надо будет выбрать RDP вместо VNC.

В Windows откройте поиск и найдите там подключение к удалённому рабочему столу:


Введите IP адрес сервера, на котором запущен RDP клиент и к которому вы хотите подключится:


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


Теперь вы можете использовать RDP подключение.

Выводы

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

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