- RDP клинет Linux или как подключиться к Windows из Linux
- Rdesktop установка
- Подключение к серверу
- Обмен файлами между Windows и Linux в рамках сеанса rdp
- Создание простой кнопки запуска
- Подключение к серверу по SSH/RDP
- Подключение к серверу по SSH
- Подключение по SSH из Linux / macOS
- Подключение по SSH из Windows
- Создание пары ключей в Linux / macOS
- Создание пары ключей в Windows
- Подключение к серверу по RDP
- Подключение по RDP из Windows
- Подключение по RDP из Linux
- Подключение по RDP из macOS
- Ethical hacking and penetration testing
- InfoSec, IT, Kali Linux, BlackArch
- How to connect to Windows remote desktop from Linux
- How to use freerdp
- How to connect with freerdp command
- Xfreerdp options
- How to create shared folders in freerdp
- How to bring remote desktop to another monitor
- How to set the size of the remote desktop window
- How to use rdesktop
- How to connect to remote desktop with rdesktop
- How to connect from Linux to another Linux via RDP
RDP клинет Linux или как подключиться к Windows из Linux
Если в вашей локальной сети присутствуют Windows сервера или клиентские машины с возможностью подключения к удаленному рабочему столу, то логично было бы иметь такую поддержку со стороны Linux машин. Такую возможность нам обеспечивает проект rdesktop и их одноименный rdp клиент.
Логика работы rdesktop основывается на протоколе RDP (Remote Desktop Protocol) — проприетарном протоколе Microsoft, используемом для удаленного доступа к рабочему столу Windows. Основная настройка в этом случае производится на стороне сервера — здесь же мы рассмотрим работу клиентской части, основные принципы, параметры и примеры использования.
Rdesktop установка
Итак приступим. rdesktop — консольная утилита, так что смело открывайте терминал и вводите
Если вы получили сообщение о том, что команда не найдена — её нужно установить. Для Debian-based дистрибутивов (Ubuntu, Linux Mint) команда установки rdesktop будет выглядеть так:
apt-get install rdesktop #Команду стоит вводить от лица root
Подключение к серверу
rdesktop -z -P -g 1280×900 -u USERNAME -p PASSWORD SERVER_IP
- -z включает сжатие потока
- -P кэширование
- -g задает геометрию окна
- -u имя пользователя на сервере
- -p пароль.
Следует оговориться — задание пароля в явном виде в качестве опции для rdesktop не является безопасным, так как он может быть просмотрен другими пользователями с помощью команды ps. Поэтому, если компьютер может быть доступен другим пользователям (локальным или удаленным), эту опцию следует опускать — пароль можно будет ввести уже после установления сессии.
Опцию «-g» можно заменить опцией «-f». В этом случае окно rdesktop будет открыто на весь экран. Выход в этом случае можно будет инициировать нажатием клавиш Ctrl-Alt-Enter.
Обмен файлами между Windows и Linux в рамках сеанса rdp
Остро встает вопрос о возможности обмена файлами в рамках сессии между локальным и удаленным компьютером, так как перетаскивание не поддерживается. Первое, что можно сделать, это при помощи опции «-r disk: =
» подключить любую локальную папку как диск Windows, который можно будет увидеть в «Мой компьютер». Например команда
rdesktop -r disk:share=/home/documents -z -P -g 1280×900 -u USERNAME -p PASSWORD SERVER_IP
кроме всего прочего подключит папку /home/documents в качестве диска «share» в «Мой компьютер» на стороне Windows. Вы сможете читать и записывать файлы. Однако, следует помнить, что владельцем подключаемой папки должен быть тот пользователь, от лица которого запускается rdp client. Иначе (запуская rdesktop от лица, например, root) вы не сможете потом получить доступ к записанным файлам, пока не установите правильного владельца. Если это произошло, воспользуйтесь командой chown для смены владельца и группы:
chown -R /home/documents USERNAME:USERGROUP
Второй доступный способ, это при помощи протоколов SMB или NFS сделать общую сетевую папку. Читайте документацию по созданию таких хранилищ и их подключению к системам Windows и Linux
Создание простой кнопки запуска
Чтобы каждый раз не открывать консоль и не вводить длительные последовательности команд и опций, можно сделать кнопку запуска, два раза кликнув по которой можно запустить требуемый сеанс.
Для этого нужно поместить команду целиком в текстовый файл в нужном месте (на Рабочий Стол, или любую другую папку), добавить одну строчку до нее и сделать файл исполняемым. Так, исползуя пример из первой части делаем такой текстовый файл такого содержания:
#!/bin/bash
rdesktop -z -P -g 1280×900 -u USERNAME -p PASSWORD SERVER_IP
Источник
Подключение к серверу по SSH/RDP
Чтобы управлять сервером удаленно, например со своего локального компьютера, нужно подключиться к нему по протоколу SSH (для серверов на базе ОС Linux) или RDP (ОС Windows).
Подключение к серверу по SSH
Для подключения к серверам с ОС Linux используется протокол SSH. Он позволяет безопасно управлять сервером по сети.
Подключиться к серверу можно:
- по логину и паролю из панели управления — в таком случае при каждом подключении к серверу нужно вводить пароль;
- по паре сгенерированных SSH-ключей — при таком подключении вводить пароль не нужно, пользователь идентифицируется при первом подключении. Используется пара ключей: открытый ключ размещается на сервере, а закрытый ключ хранится на компьютере пользователя. Примечание: подключиться к серверу по SSH можно только с того компьютера, на котором хранится закрытый SSH-ключ.
Для подключения к серверу используются данные, которые указаны в панели управления на вкладке Операционная система на странице сервера:
- публичный IP-адрес сервера (поле IP);
- логин root и пароль для доступа в систему (поля Username и Password).
Подключение по SSH из Linux / macOS
Для подключения к серверу по SSH введите в терминале команду:
Где server IP — публичный IP-адрес сервера.
Далее система запросит пароль от сервера, введите его. Если вы ранее создавали пару ключей, то для подключения к серверу пароль указывать не требуется.
Подключение по SSH из Windows
В Windows 10 подключение происходит так же, как в Linux и macOS, но через командную строку (cmd.exe).
В более ранних версиях Windows подключение к серверу происходит с помощью PuTTY:
- Запустите PuTTY.
- Перейдите на вкладку Session. В поле Host Name укажите публичный IP-адрес сервера, а в поле Port — 22.
- Укажите тип соединения SSH в поле Connection type.
- Если вы подключаетесь с помощью ранее сгенерированных ключей, перейдите на вкладку SSH — Auth, нажмите Browse и выберите файл с приватным ключом.
- Нажмите Open, чтобы подключиться.
- Подтвердите подключение. В открывшейся консоли укажите логин root и пароль для входа на сервер. Если вы ранее создавали пару ключей, то для подключения к серверу пароль указывать не требуется.
Создание пары ключей в Linux / macOS
Чтобы создать пару ключей:
Откройте терминал и выполните команду:
В консоли появится следующий диалог:
Укажите имя файла, в котором будут сохранены ключи, или используйте имя и путь по умолчанию /.ssh/id_rsa .
Система предложит ввести кодовую фразу для дополнительной защиты:
Этот шаг можно пропустить.
Будет создан закрытый ключ (
/.ssh/id_rsa ) и открытый ключ (
/.ssh/id_rsa.pub ). В консоли появится следующее сообщение:
Для вывода открытого ключа в консоль выполните команду:
/.ssh/id_rsa.pub — это путь до файла, в котором хранится открытый ключ. Если на шаге 2 вы изменили путь, то укажите его.
Добавьте открытый ключ в панели управления Selectel — на вкладке Операционная система на странице сервера нажмите кнопку Изменить конфигурацию сервера и введите ключ в поле SSH.
После создания ключей вы можете подключаться к серверу без пароля.
Создание пары ключей в Windows
В Windows 10 создать пару ключей можно таким же образом, как в Linux и macOS, но через командную строку (cmd.exe).
В более ранних версиях Windows для генерации ключей используется PuTTY:
- Установите PuTTY и запустите приложение PuTTYgen.
- В меню Type of key to generate выберите тип ключа RSA и нажмите Generate. Перемещайте курсор по экрану до тех пор, пока не будут созданы ключи.
- После создания пары ключей открытый ключ будет выведен на экран. Нажмите Save public key и сохраните его в текстовом файле, например в новом файле с названием id_rsa.pub .
- В поле Key passphrase введите кодовую фразу для дополнительной защиты. Этот шаг можно пропустить.
- Нажмите Save private key для сохранения закрытого ключа.
- Добавьте открытый ключ в панели управления Selectel – на вкладке Операционная система на странице сервера нажмите кнопку Изменить конфигурацию сервера и введите ключ в поле SSH.
После создания ключей вы можете подключаться к серверу без пароля.
Подключение к серверу по RDP
Для удаленного подключения к серверам с ОС Microsoft Windows используется протокол удаленного рабочего стола RDP (Remote Desktop Protocol). Функция «Подключение к удаленному рабочему столу» доступна в Windows по умолчанию. Создавать специальные ключи не потребуется.
Для подключения к серверу используются данные, которые указаны на вкладке Операционная система на странице сервера:
- публичный IP-адрес сервера (поле IP);
- логин и пароль для доступа в систему (поля Username и Password).
Подключение по RDP из Windows
Чтобы подключиться к Windows-серверу по RDP:
- В поле поиска (меню Пуск) найдите и выберите Подключение к удаленному рабочему столу.
- В открывшемся окне в поле Компьютер введите публичный IP-адрес сервера.
- Нажмите кнопку Подключиться.
- Введите логин и пароль.
- Нажмите кнопку OK.
Подключение по RDP из Linux
Чтобы подключиться по RDP через терминал, введите команду:
- server IP ― публичный IP-адрес сервера;
- user и password ― логин и пароль.
Подключение по RDP из macOS
Чтобы подключиться к серверу:
- Установите и запустите Microsoft Remote Desktop.
- Нажмите +. В поле PC name введите публичный IP-адрес, в полях Username и Password введите имя пользователя и пароль.
- Нажмите Save и сохраните изменения.
- Для подключения к удаленному серверу дважды нажмите на созданное подключение в списке.
Источник
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)”:
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.
Источник