Как из Linux подключиться к удалённому столу Windows по RDP
freerdp — это клиент RDP для подключения к удалённому рабочему столу из Linux.
Для установки 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 процентов ширины.
Работа с клиентом удаленного рабочего стола Remmina .
Установка клиента удаленного рабочего стола Remmina .
    Remmina Remote Desktop Client — наиболее удобный клиент удаленного рабочего стола, предназначенный, в первую очередь для удаленного администрирования компьютеров с различными операционными системами. Remmina поддерживает протоколы RDP, VNC, NX, XDMCP и SSH, что позволяет подключаться к рабочим столам как Windows, так и Linux., а также и к прочим системам, где используется стандартный сервер VNC. Список поддерживаемых протоколов можно расширить с помощью внешних модулей плагинов ( plugins ).
Как правило, Remmina не входит в состав стандартных дистрибутивов Linux и устанавливается дополнительно. Для установки из командной строки в Linux Ubuntu можно воспользоваться командой:
sudo apt-get install remmina
В графической среде пользователя можно воспользоваться Центром Приложений Ubuntu ( Ubuntu Software Center ) .
В Linux Mint установку пакета Remmina , и при необходимости, дополнительных модулей ( plugins ) можно выполнить через Менеджер пакетов — «Меню’ — «Менеджер пакетов». В строке поиска набрать «remmina»
В окне со списком пакетов можно отметить галочками те, которые необходимо установить. Так, например, если планируется удаленное подключение к рабочим столам ОС Windows по протоклу RDP ( Remote Desktop Protocol ), то кроме основного пакета Remmina необходимо отметить к установке пакет remmina-plugin-RDP . Дополнительные модули можно установить сразу, или в любой другой момент времени. Поскольку Remmina довольно компактна, есть смысл установить все доступные модули, чтобы иметь под рукой практически универсальный клиент удаленного подключения к различным рабочим столам.
После выбора необходимых для установки пакетов, нажать кнопку «Применить’ на панели инструментов и дождаться завершения установки Remmina .
Практически так же выполняется установка в Linux Mageia — Открыть «Центр управления Mageia» — «Управление программами» — «Установка и удаление программ» . В полях фильтров выбрать «Все» и в строке поиска набрать «remmina».
Отметить галочками необходимые для установки пакеты и нажать кнопку «Применить». Согласиться с установкой дополнительных пакетов для удовлетворения зависимостей Remmina
Настройка удаленных подключений в Remmina .
    После запуска Remmina можно создавать профили удаленных подключений:
Добавляемые для удаленного подключения компьютеры можно объединять в группы, например, по типу соединения или разновидности операционной системы. Для создания нового подключения используется пункт меню «Соединение» «Создать CTRL+N» или кнопка панели инструментов Remmina.
Для подключения к терминальному серверу Windows используется протокол RDP :
На вкладке «Основные» заполняются поля с названием подключения, типом протокола и адресом сервера. При необходимости, можно задавать имя группы, учетные данные пользователя, разрешение и глубину цвета дисплея, а также имеется возможность открыть общий доступ к файлам и папкам.
На вкладке «Дополнительные» можно задать качество изображения на дисплее, варианты использования звукового оборудования и локального принтера. При необходимости, можно установить режим работы с запуском конкретного приложения, указав имя исполняемого файла в поле «Запуск программы» и путь к нему в поле «Путь запуска». В таком режиме подключения, после регистрации пользователя на терминальном сервере, будет автоматически запущена указанная программа. Завершение ее работы приведет к закрытию RDP-подключения.
Режим запуска конкретного приложения может использоваться для подключений к службам терминалов серверных ОС Windows, и очень удобен для работы, например с программой «1С Предприятие». Пользователь сразу после подключения получает доступ к заданному приложению, а не к рабочему столу Windows. В случае же необходимости временного подключения к рабочему столу, достаточно поставить галочку «Прикрепить к консоли (Windows 2003 /2003 R2)»
Вкладка «SSH» позволяет использовать для удаленных подключений туннель SSH, когда для обмена данными с удаленным сервером используется специально настроенный сервер ssh. Если такого сервера нет, то необходимо убрать галочку «Включить туннель SSH». Обычно, необходимость в SSH — туннеле возникает в тех случаях, когда нужно обеспечить шифрование трафика между сервером и клиентом.
При подключении к удаленному рабочему столу Windows, необходимо чтобы на удаленной системе работала служба терминалов, был разрешен данный тип подключений и определены пользователи, которые имеют на него право.
Чтобы разрешить компьютеру с Windows принимать RDP-подключения, откройте компонент Система в панели управления. В Windows XP откройте вкладку «Удаленные сеансы» и установите флажок Разрешить удаленный доступ к этому компьютеру . В Windows Server 2003 откройте вкладку «Удаленное использование» и установите флажок Включить удаленный доступ к рабочему столу . Нажмите кнопку ОК. В Windows 7/Vista выбрать Система — Настройка удаленного доступа и включить режим Разрешить подключения от компьютеров с любой версией удаленного рабочего стола . Кроме того, нужно настроить список пользователей, имеющих разрешение на подключение к удаленному рабочему столу данной системы и разрешить в настройках брандмауэров подключение на порт 3389/TCP.
Для подключения к удаленному рабочему столу Linux используется удаленное подключение по протоколу XDMCP.
Менеджеры дисплеев ( DM — Display Manager ) Linux-систем могут настраиваться на поддержку X Display Manager Control Protocol (XDMCP) — протокола, обеспечивающего удаленное подключение графических терминалов (X-терминалов) к графическому серверу (X-серверу). В данном случае, в качестве графического терминала используется клиент удаленного рабочего стола Remmina. Настроенный на удаленную работу менеджер дисплея, должен принимать входящие подключения на UDP порт 177 (по умолчанию) сетевого интерфейса локальной сети. Настройками DM , как правило, данный тип подключений не разрешен по соображениям безопасности. Кроме того, для многих Linux — систем, также используется запуск X-сервера с параметром, отключающим сетевые соединения ( -nolisten tcp ). Поэтому, прежде, чем подключаться к удаленной графической подсистеме Linux по протоколу XDMCP, необходимо убедиться, что на ней слушаются порты 177/udp и 6000/tcp и если это не так, то изменить настройки конфигурации. Для разных менеджеров дисплея используются свои настройки:
LightDM — менеджер дисплея, использующийся в последних версиях Linux Ubuntu. Файлы конфигурации размещаются в системном каталоге /etc/lightdm . Основные настройки в файле lightdm.conf . Для разрешения TCP-подключений к графическому серверу Ubuntu, нужно в файл конфигурации lightdm.conf добавить строку :
Для разрешения удаленных подключений к менеджеру дисплея нужно добавить секцию
MDM — менеджер дисплея, устанавливаемый по умолчанию в Linux Mint. Основной файл конфигурации — /etc/mdm/mdm.conf . В версии Linux Mint 16 Petra, возможность удаленного подключения по протоколу XDMCP отсутствует .
KDM Основной файл конфигурации /usr/share/config/kdm/kdmrc
В секции [Xdmcp] строку Enable=false изменить на:
Enable=true
Для разрешения приема входящих соединений, параметр ServerArgsLocal= нужно оставить пустым. По умолчанию, ServerArgsLocal=-nolisten tcp
GDM — основной файл конфигурации /etc/X11/gdm/custom.conf . В секции [xdmcp] строку Enable=false меняем на:
Enable=true
Подобным же образом настраиваются и прочие подключения. В случае использования VNC — входящее подключение ( VNCI VNC Incomming Connection ) технология удаленного подключения несколько иная.
Remmina используется в качестве слушающего VNC — клиента ( Listening VNC Viewer ) и ожидает входящее соединение от сервера VNC на порт 5500/tcp (по умолчанию ). Удаленное подключение выполняется по инициативе сервера VNC, например, для RealVNC в Windows, это выполняется из контекстного меню, вызываемого щелчком правой кнопки мышки на иконке сервера и выбором пункта Add New Client или из командной строки командой:
winvnc4.exe -connect 192.168.0.247 — подключиться к слушающему VNC-клиенту с IP-адресом 192.168.0.247
winvnc4.exe -connect Ubuntu13:15500 — подключиться к слушающему VNC-клиенту Ubuntu13 на порт 15500/tcp.
После выполнения подключения от сервера VNC в окне Remmina откроется рабочий стол Windows, или любой другой системы, на которой развернут VNC-сервер.
При создании подключения с использованием протокола «SSH — безопасная оболочка», Remmina работает так же, как стандартный SSH-клиент. При подключении по протоколу «SFTP — защищенная передача файлов», Remmina используется в качестве очень простого SFTP-клиента:
Кнопки панели инструментов окна SFTP-клиента служат для навигации, приема ( «Загрузить») и передачи файлов («Выгрузить») на удаленный сервер. Кроме обмена файлами, имеется возможность запуска SSH-клиента Remmina непосредственно из текущей SFTP-сессии — кнопка «Инструменты» ( в виде шестеренки ) — «Открыть защищенную оболочку SSH в новом терминале». С помощью этой же кнопки можно открывать и новые сессии SFTP, например, для работы с разными каталогами, переключаясь между ними по мере необходимости.
Если вы желаете помочь развитию проекта, можете воспользоваться кнопкой «Поделиться» для своей социальной сети
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 — если вы знаете, как это сделать, то пишите в комментариях.