Windows remote access from linux

Ethical hacking and penetration testing

InfoSec, IT, Kali Linux, BlackArch

How to connect to Windows remote desktop from Linux

RDP (Remote Desktop Protocol) clients exist for many platforms, even for mobile phones, of course, there are RDP clients for Linux as well

We will look at 2 RDP clients for Linux

  • freerdp is a free implementation of the Remote Desktop Protocol (RDP)
  • rdesktop is an open source client for remote desktop windows services

How to use freerdp

To install freerdp on Debian, Kali Linux, Linux Mint, Ubuntu and derivatives, run the command:

If the freerdp2-x11 and freerdp2-shadow-x11 packages are not found, look for a package named freerdp.

To install freerdp on Arch Linux and derivatives, run the command:

How to connect with freerdp command

To connect to the remote desktop using xfreerdp, run a command of the form:

In this command:

  • /f is option means to open the remote desktop in full screen mode
  • /u:USERNAME is a name of the account on the computer to which we are connecting
  • /p:PASSWORD is a password of the specified account
  • /v:HOST[:PORT] is an IP address or name of the computer to which the remote table is connected. PORT optional (recommended: “Windows Computer name: how to change and use”)

For example, I want to open a remote computer desktop with IP address 192.168.0.101, on which there is a Tester user with a password of 1234, and I want to open a remote working collision in full screen mode, then the command is as follows:

To toggle between full-screen and windowed modes, use the keyboard shortcut Ctrl+Alt+Enter.

When connecting for the first time, the following message about the problem with the certificate appears:

Since self-signed certificates are used without a private CA (authentication center, certification authority) added to the store, the only choice is to agree to trust the specified certificate, enter Y for this.

In full screen mode, you can disconnect from the remote desktop in two ways:

  • press the cross on the top panel
  • Start button → Shutdown → Disconnect

To run in windowed mode, do not use the /f option:

Xfreerdp options

The xfreerdp program has many options,I picked up the most interesting of them:

How to create shared folders in freerdp

With remote desktop connected via RDP, you can have shared folders. Let’s look at a few examples.

To connect all mount points in the current system as shared folders on the remote desktop, use the +drives option, for example:

The screenshot shows the remote Windows desktop, in which the Linux system folders are accessible:

To connect only the home folder of the current Linux user as a network folder to the computer via RDP, specify the +home-drive option:

In this case, the home folder is mounted on a system connected via the remote desktop protocol:

With the option /drive:NAME,/PATH/IN/LINUX, you can connect any folder with any name. The path in the current system must be specified as /PATH/IN/LINUX, and NAME is the name that will have the share in the remote system. For example, to connect the root folder of the current system (/) to the remote folder with the root name:

How to bring remote desktop to another monitor

If you have several monitors, then you can choose which one to use for the remote system. To list the monitors, run the command:

Select the monitor (or multiple monitors) identifier using the /monitors: [,[,…]] option.

How to set the size of the remote desktop window

The following example connects to the rdp.contoso.com host with the name USER and is 50 percent of the height.

If width (w) is set instead of height (h), something like /size:50%w, then 50 percent of the width will be used.

How to use rdesktop

To install rdesktop on Debian, Kali Linux, Linux Mint, Ubuntu and derivatives, run the command:

To install rdesktop on Arch Linux and derivatives, run the command:

How to connect to remote desktop with rdesktop

To connect to RDP with rdesktop, use a command of the form:

As usual, at the very beginning there will be a problem with the certificate:

We type yes.

Then an error will occur:

This is because network-level authentication (Kerberos TGT) is not configured. Setup instructions at: https://github.com/rdesktop/rdesktop/wiki/Network-Level-Authentication-(NLA)

Another option that allows you to connect to Windows via RDP using rdesktop without setting up Network Level Authentication (NLA) is to disable network-level authentication in Windows. It is clear that this will weaken the security of RDP, therefore it is not recommended. But as a “quick dirty fix” this can be done as follows: Start menu → Settings → System → Remote Desktop → Advanced settings → Uncheck “Require computers to use Network Level Authentication at the to connect (recommended)”:

Читайте также:  Windows 10 pro как сбросить до заводских настроек

After that, rdesktop connection passes without errors:

In the Windows settings, you could see the link “Why allow connections with Network Level Authentication?”, It says the following:

If you want to restrict who can access your PC, choose to allow access only with Network Level Authentication (NLA). When you enable this option, users have to authenticate themselves to the network before they can connect to your PC. Allowing connections only from computers running Remote Desktop with NLA is a more secure authentication method that can help protect your computer from malicious users and software. To learn more about NLA and Remote Desktop, check out Configure NLA for RDS Connections. If you’re remotely connecting to a PC on your home network from outside of that network, don’t select this option.

How to connect from Linux to another Linux via RDP

There are no special features when connecting using the xfreerdp program, it is enough to start the RDP server, and if you use freerdp-shadow, then the /sam-file:SAM /sec:nla options are also needed:

Or run xrdp-sesman and xrdp as an RDP server.

And then the connection to Linux via RDP is the same as to Windows:

As for rdesktop, it could not be forced to work with any of the RDP servers under consideration under Linux – if you know how to do this, then write in the comments.

7 лучших клиентов удаленного доступа в 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 — это автономная программа для подключения к компьютерам по протоколу VNC. После загрузки, пользователь должен открыть терминал, перейти в директорию с программой и задать права доступа chmod 700 для запуска приложения.

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

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

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

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

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

Remmina

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

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

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

Читайте также:  Kali linux для iphone

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

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

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

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

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

TeamViewer

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

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

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

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

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

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

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

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

TigerVNC

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

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

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

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

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

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

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

Vinagre

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

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

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

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

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

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

Читайте также:  Менеджер пакетов для линукс

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

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

Так как 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 стремится вернуть былое величие, но серьезное нагромождение возможностей не учитывает самый главный аспект- взаимодействие сервера и клиента. Подход приложения отличается от других стандартных просмотрщиков 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.

Оцените статью