- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- RDP в Linux: запуск сервера и подключение к Windows
- Оглавление: Всё о RDP: от настройки до взлома
- Как подключиться к удалённому столу по RDP в Linux
- Как пользоваться freerdp
- Как подключиться командой freerdp
- Опции xfreerdp
- Как в freerdp создать общие папки
- Как вывести удалённый рабочий стол на другой монитор
- Как установить размер окна удалённого рабочего стола
- Как пользоваться rdesktop
- Как подключиться к удалённому рабочему столу с rdesktop
- Как установить сервер RDP в Linux
- Как использовать freerdp-shadow для запуска RDP сервера
- Ошибка freerdp-shadow «client authentication failure: -1»
- Как запустить RDP сервер с xrdp
- Как из Linux подключиться к другому Linux по RDP
- Как из-под Ubuntu удалённо подключиться к компьютеру с Windows?
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
RDP в Linux: запуск сервера и подключение к Windows
Оглавление: Всё о RDP: от настройки до взлома
Теперь рассмотрим, как из Linux подключиться к удалённому столу Windows.
Как подключиться к удалённому столу по RDP в Linux
Клиенты RDP существуют для многих платформ, даже для мобильных телефонов, конечно, имеются клиенты RDP и для Linux
Мы рассмотрим 2 клиента RDP под Linux
- freerdp — бесплатная реализация протокола удалённого рабочего стола (Remote Desktop Protocol (RDP))
- rdesktop — клиент с открытым исходным кодом для служб Windows удалённого рабочего стола
Как пользоваться 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:
Как вывести удалённый рабочий стол на другой монитор
Если у вас несколько мониторов, то вы можете выбрать, какой из них использовать для удалённой системы. Чтобы вывести список мониторов запустите команду:
Выбранный идентификатор монитора (или нескольких мониторов) укажите с помощью опции /monitors: [, [,…]].
Как установить размер окна удалённого рабочего стола
В следующем примере выполняется подключение к хосту rdp.contoso.com с именем USER и размером 50 процентов от высоты.
Если вместо высоты (h) установлена ширина (w), примерно как /size:50%w, то будет использоваться 50 процентов ширины.
Как пользоваться rdesktop
Для установки rdesktop в Debian, Kali Linux, Linux Mint, Ubuntu и производные выполните команду:
Для установки rdesktop в Arch Linux и производные выполните команду:
Как подключиться к удалённому рабочему столу с rdesktop
Для подключения к RDP с rdesktop используйте команду вида:
Как обычно, в самом начале возникнет проблема с сертификатом:
Набираем yes.
Затем возникнет ошибка:
Она вызвана тем, что не настроена аутентификация на уровне сети (Kerberos TGT). Инструкция по настройке по ссылке: https://github.com/rdesktop/rdesktop/wiki/Network-Level-Authentication-(NLA)
Другой вариант, который позволяет подключиться к 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 — высота прямоугольника
К примеру, чтобы делиться частью экрана 500×500 пикселей с координатами 200,300:
Ошибка freerdp-shadow «client authentication failure: -1»
Если при запуске 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 — если вы знаете, как это сделать, то пишите в комментариях.
Как из-под Ubuntu удалённо подключиться к компьютеру с Windows?
Одна из полезных функций Windows заключается в том, что вы можете подключаться к рабочему столу из другого места для удаленного управления компьютером. К счастью, основные дистрибутивы Linux также предлагают эту функцию, и Ubuntu является одним из них. Если вы хотите подключиться к своим компьютерам Windows из Ubuntu удаленно, вы можете использовать найденный в нем RDP-клиент по умолчанию, который называется Remmina. Вот как создать, настроить и установить подключение к удаленному рабочему столу из Ubuntu в Windows.
ПРИМЕЧАНИЕ. Этот учебник был создан на Ubuntu 18.04 LTS (Bionic Beaver). Однако это работает и в других версиях Linux.
Шаг 1. Включите подключения к удаленному рабочему столу на ПК с Windows
Если вы хотите разрешить другим компьютерам удаленно подключаться к вашему ПК с Windows, вы должны сначала настроить его на прием подключений к удаленному рабочему столу.
Шаг 2. Запустите клиент удаленного рабочего стола Remmina
По умолчанию Ubuntu поставляется с клиентским приложением удаленного рабочего стола, которое поддерживает протокол удаленного рабочего стола (RDP), используемый операционными системами Windows для удаленных подключений. Вы можете найти его в списке приложений Ubuntu.
Если вы предпочитаете выполнять поиск, вы можете найти клиент Ubuntu RDP по умолчанию, используя термин поиска RDP.
Шаг 3. Настройте и установите сеанс удаленного рабочего стола Ubuntu для Windows
Когда вы откроете клиент Remmina Remote Desktop Client, вы должны увидеть что-то вроде этого:
Нажмите кнопку «Создать новый профиль подключения».
Его значок — зеленый знак плюс, который легко заметить в верхнем левом углу окна.
Предыдущее действие открывает окно с названием «Удаленный рабочий стол». Здесь вы можете настроить подключение удаленного рабочего стола Ubuntu к Windows, которое вы собираетесь установить.
В разделе Профиль введите Имя, которое вы хотите использовать для подключения. Это может быть что угодно. Оставьте другие настройки из раздела Профиль с их настройками по умолчанию.
В поле «Сервер» на вкладке «Основные» введите IP-адрес ПК с Windows, к которому вы будете подключаться. Введите имя пользователя и пароль пользователя для учетной записи пользователя, которую вы хотите использовать на удаленном ПК с Windows. Эта учетная запись пользователя должна существовать на ПК с Windows.
Если вы используете учетную запись Microsoft на ПК с Windows, то все в порядке, чтобы заполнить ваш адрес электронной почты и пароль. Если ваш ПК с Windows является частью домена, введите его в поле «Домен», в противном случае оставьте это поле пустым.
Затем вы можете установить разрешение и глубину цвета, которые вы хотите использовать для подключения к удаленному рабочему столу. По умолчанию в профиле удаленного рабочего стола установлено «Использовать разрешение клиента», что означает, что для подключения используется то же разрешение, что и для компьютера Windows, к которому вы подключаетесь. Глубина цвета также установлена на максимально возможное качество. Однако выбор меньшего разрешения рабочего стола и глубины цвета может повысить производительность сеанса удаленного рабочего стола с Linux на Windows. Если при подключении к удаленному рабочему столу Windows возникает задержка, попробуйте уменьшить глубину цвета или разрешение.
Если вы хотите поделиться папкой с вашего компьютера с Ubuntu на ПК с Windows, установите флажок « Поделиться папкой» и выберите ее.
Кроме того, для получения дополнительных настроек перейдите на вкладку «Дополнительно». Там вы можете включить или выключить звук, поделиться принтерами, отключить синхронизацию буфера обмена и так далее.
Когда вы закончите настройку всех деталей, нажмите Сохранить и подключиться. Это сохранит ваш профиль подключения и затем инициирует подключение RDP к ПК с Windows.
Через несколько секунд у вас должно быть установлено работающее подключение к удаленному рабочему столу на вашем ПК с Windows.
Вы также можете подключиться к удаленному компьютеру под управлением Windows безо всяких шагов по персонализации, о которых говорилось ранее. Однако это означает, что вам придется перенастроить профиль подключения к удаленному рабочему столу при следующем удаленном управлении вашим ПК с Windows.