- Remote Desktop Connection to Windows from Linux using RDP clients
- Enabling remote desktop on Windows
- Remmina
- FreeRDP
- rdesktop
- Vinagre
- References
- RDP клиенты удаленного доступа для Linux
- Для чего нужны RDP клиенты?
- Популярные Linux RDP клиенты
- Remmina
- Установка Remmina
- Обновление Remmina
- Настройка Remmina
- Подключение по RDP к удаленной машине
- Apache Guacamole
- Установка Apache Guacamole
- Настройка Apache Guacamole
- FreeRDP
- Установка FreeRDP
- Настройка FreeRDP
- TigerVNC
- Установка TigerVNC
- Настройка TigerVNC
- rdesktop
- Установка rdesktop
- Настройка rdesktop
- Vinagre
- Установка Vinagre
- NoMachine NX Client
- Установка NoMachine NX Client
- Установка Krdc
- TeamViewer
- Установка TeamViewer
- Заключение
Remote Desktop Connection to Windows from Linux using RDP clients
Have you seen the ad that should be here?
Have you ever used the Windows app Remote Desktop Connection? This app, included in all Windows installations, allows you to remotely access another Windows PC or a server with Windows Server. For this purpose, it employs the Remote Desktop Protocol (RDP).
Organizations can install applications on a central server instead of various computers. To use those applications, employees must remotely access that server. Such centralization can make maintenance and troubleshooting easier. This technology was formerly known as Terminal Services (TS). Currently, web systems are more common. But, in some scenarios, Windows remote apps are still needed.
In those scenarios, Linux users can remotely access Windows computers and servers from their favorite system using an RDP client.
There are a few RDP clients available for Linux and we are going to talk about them today:
You can choose the one you like best or the one that best suits your needs.
Out of curiosity, FreeRDP is both an app and a library, which provides reusable features for other apps. Except for rdesktop, all of the other clients above use the FreeRDP library.
Enabling remote desktop on Windows
First of all, you must set up the computer you want to connect to so it allows remote connections. On the Windows machine you want to connect to, logged on with an administrator account, open the Start menu and click Settings. To do that, on the window that appears, open the System category, and then Remote Desktop. Finally, enable it:
Note that you can’t connect to computers running a Windows Home edition (for instance, Windows 10 Home). This screen informs you, if that is the case:
Your Home edition of Windows 10 doesn’t support Remote Desktop.
Source of the image: Digital Citizen
If you want more information about remote desktop on Windows, take a look at:
Remmina
Remmina is a remote desktop client that supports many remote access protocols such as RDP, VNC, NX, XDMCP and SSH. It aims to be useful for system administrators and travellers, who need to work with lots of remote desktops and/or servers. Remmina is included in the Ubuntu Linux distribution and is its default remote desktop client.
To install Remmina on Linux Kamarada and openSUSE, run:
Once installed, to start Remmina, if you use the GNOME desktop environment, open the Activities menu, on the top-left screen corner, type remmina and click its icon:
To quickly start a remote access, select the RDP protocol, type the hostname or IP address of the computer you want to connect to (e.g. 10.0.0.251 ) and hit Enter:
If it’s the first time you connect to this computer, Remmina asks whether to trust its certificate, click Yes:
On the next screen, enter your User name and Password on the remote computer. Also inform the Domain, if necessary. Optionally, you can choose to Save password. Click OK:
You will see the remote computer’s desktop in the Remmina window:
From now on, you are using that computer, but remotely, without sitting in front of it. Each clicking and typing is sent to be processed on the remote computer.
If the remote computer is a Windows desktop, its screen is locked during remote access.
If you are going to access this computer often, consider saving the connection settings, so that remote access can be easily initiated. To do this, click the Create a new connection profile button on the top-left corner of the Remmina main window:
On the next screen, give a Name to identify the connection, select RDP in the Protocol field and enter the connection settings: Server, User name, User password and Domain (if necessary). When you’re finished, click Save:
After that, the connection becomes listed on the Remmina main window:
When you want to remotely access that computer, just double-click it on the list.
FreeRDP
FreeRDP is a free implementation of the Remote Desktop Protocol following the Microsoft Open Specifications. This implementation provides both the client and the server applications as well as a library, which allows other applications to use the RDP protocol. Today, we are interested in the FreeRDP client application.
To install the FreeRDP client on Linux Kamarada and openSUSE, run:
The FreeRDP client does not have a main screen like Remmina. To start a remote access using the FreeRDP client, run this command from a terminal:
Making the appropriate substitutions. For example:
If you need to inform the computer’s domain, use the /d parameter:
If it’s the first time you connect to this computer, the FreeRDP client asks whether to trust its certificate:
Type Y (yes) and hit Enter. Then type your user password on the remote computer and hit Enter:
After that, the remote desktop connection is initiated:
If you have ever started the remote desktop connection on Windows by the Command Prompt (using the mstsc command), you may have noticed that the FreeRDP client uses the same command syntax. It was implemented that way on purpose, to keep compatibility.
If you are a curious person and want to check it out by yourself:
rdesktop
rdesktop was the first RDP client for Linux and, for many years, it was the most used. But since November 2019, the project is looking for a new maintainer.
In contrast, FreeRDP was born in 2009 as a fork of rdesktop, when Microsoft decided to open the RDP specifications. As time passed and the FreeRDP project evolved, it became the standard RDP client on systems where no native Microsoft client is available.
I present rdesktop here for information purposes only. Unless you have a good reason to use it, you are advised to use one of the other RDP clients, based on FreeRDP.
To install rdesktop on Linux Kamarada and openSUSE, run:
Then, to start a remote access using rdesktop, invoke it from a terminal followed by the hostname or IP address of the computer you want to connect to. For example:
In the past, that would suffice and rdesktop would just work. But now we face a problem that comes from the lack of proper maintenance and updates:
At some point, Microsoft released an Windows update that has since made the use of Network Level Authentication (NLA) required by default. FreeRDP does support NLA, while rdesktop does not. You can still use rdesktop for remote access, as long as you disable NLA on the computer you want to connect to. Note that this makes the connection less secure.
To disable NLA on the Windows machine you want to connect to, logged on with an administrator account, open the Control Panel, open the System and Security category, then click the System icon. On the next screen, click the Remote settings link by the left. On the dialog box that appears, select the Remote tab. Finally, disable the option Allow connections only from computers running Remote Desktop with Network Level Authentication and click OK:
With NLA disabled, back to the Linux computer that will start the remote access, try again:
This time, rdesktop will work. A window presents the Windows logon screen. Enter your username and password and press Enter to start the remote access:
If you want more information about that rdesktop bug, see:
Vinagre
Vinagre is the default remote desktop client for the GNOME desktop. That’s why it is also the default remote desktop client for Linux Kamarada 15.1, the current stable release. Like Remmina, it supports some connection protocols: SSH, RDP, SPICE and VNC. However, like rdesktop, Vinagre is unmaintained for some time now.
When trying a RDP access, Vinagre only displays a black screen, as I reported on the openSUSE mailing list some time ago:
On some distributions, like Debian, Vinagre works. I believe that those distributions applied some patch to Vinagre.
Probably, the next Linux Kamarada release will come with Remmina instead of Vinagre, following the Ubuntu Linux distribution.
Because of that, I present Vinagre here just for information purposes as well.
Vinagre comes already installed by default on Linux Kamarada and openSUSE, if you chose the GNOME desktop, but if you need or want to install it, you can do this by running:
To start Vinagre, which appears as Remote Desktop Viewer on the applications list, open the Activities menu, on the top-left screen corner, type remote or vinagre and click the corresponding icon:
On the Vinagre main screen, click Connect:
Fill in the next screen fields with the connection settings:
- on the Protocol field, select RDP;
- on the Host field, enter the hostname or IP address of the computer to connect to;
- enter your Username on the remote computer; and
- enter the Domain, if necessary.
When you are finished, click Connect.
If it’s the first time you connect to this computer, Vinagre asks whether to trust its certificate:
Tell it to do so by clicking Connect.
Enter your Password, optionally enable Remember this credential and click Authenticate:
At this point, you should see the remote computer’s desktop. You can notice it has its screen locked (as it normally does during RDP accesses). But, as I said, Vinagre only displays a black screen:
Like Remmina, Vinagre allows you to memorize the connection settings, to easily connect to the same computer again in the future. To do this, during the remote access, open the Bookmarks menu and click Add Bookmark.
After you created the bookmark, it will now be listed on the Bookmarks menu. When you want to remotely access this computer again, just open this menu and click the bookmark.
References
Since it’s not possible to remotely access computers running Windows 10 Home, to write this how-to I used a VirtualBox virtual machine with a Windows 10 Enterprise evaluation version legally downloaded from:
Источник
RDP клиенты удаленного доступа для Linux
RDP (Remote Desktop Protocol) — протокол доступа к удаленному рабочему столу, созданный Microsoft. Он поддерживается почти любой современной ОС. В этой статье предлагаем взглянуть на несколько популярных клиентов удаленного доступа для Linux.
Проприетарный RDP — не единственный протокол удаленного доступа. Есть, например, открытый протокол VNC или защищенный протокол SSH. Все протоколы поддерживаются большинством операционных систем, включая различные дистрибутивы Linux, а иногда и мобильные ОС.
Для чего нужны RDP клиенты?
Клиенты доступа к удаленному рабочему столу имеют гораздо более широкие возможности, чем просмотр сессии удаленной машины с локальной. Через RDP клиент осуществляется доступ к удаленному рабочему столу с полноценной поддержкой клавиатуры, мыши, а также с поддержкой аудио и возможностью передачи файлов. В некоторых случаях RDP клиент может быть уже установлен в системе, например, на Ubuntu Desktop обычно предустанавливается клиент Remmina.
Популярные Linux RDP клиенты
Remmina
Remmina идет под лицензией GNU GPL и имеет открытый исходный код.
Установка Remmina
Remmina устанавливается через терминал:
В дистрибутивах Ubuntu, как правило, уже имеется клиент Remmina, однако, версия обычно устаревшая поэтому рекомендуется ее обновить.
Обновление Remmina
В терминале нужно ввести команду:
Затем запросите обновление списка системных хранилищ:
Следующий шаг — установка или обновление плагина протокола RDP:
Чтобы завершить установку Remmina Linux RDP client, закройте активные сеансы приложения из терминала: sudo killall remmina. Затем откройте обновленный клиент заново и перейдите к конфигурации соединения.
Настройка Remmina
Если нужны настройки Remmina Remote Desktop Client, откройте меню Preferences (параметры) нажатием на иконку в правой верхней части окна.
Подключение по RDP к удаленной машине
Давайте рассмотрим как работает подключение по RDP к удаленной машине на примере Remmina.
Нажмите кнопку Add a new connection profile (Добавить новый профиль соединения), чтобы создать новое соединение.
Поддерживаются соединения с Linux, Windows или macOS. Главное, что вам нужно знать — это IP-адрес машины, с которой устанавливается подключение, имя пользователя и пароль.
После конфигурации нового подключения, можно просто нажать Connect для подключения, а можно сохранить подключение и установить его в качестве подключения по умолчанию. Сохранив текущую конфигурацию, вы сможете соединиться с удаленным компьютером буквально в два клика.
Также есть возможность управлять соединениями, копируя, редактируя и удаляя их прямо из основного окна.
Помимо RDP, клиент Remmina также обладает поддержкой других протоколов удаленного соединения, включая безопасный SSH и открытый VNC.
Apache Guacamole
Еще один интересный RDP клиент для Linux — Apache Guacamole. Этот RDP клиент с открытым исходным кодом, распространяется по лицензии Apache v. 2.0. У Apache Guacamole есть интересная особенность — разработчики называют его «шлюз для удаленного рабочего стола без клиента» (clientless remote desktop gateway). Все благодаря тому, что Apache Guacamole работает напрямую из браузера, необходимости устанавливать дополнительное ПО или плагины нет.
Установка Apache Guacamole
Apache Guacamole может быть предустановлен в некоторых Linux Debian и Debian-based дистрибутивах. Ручная установка Apache Guacamole из терминала производится командой:
Поскольку Apache Guacamole — серверный клиент, требуется установить Tomcat Server на вашу машину, после чего программа установки попросит его перезапустить.
По умолчанию Apache Guacamole устанавливается с поддержкой только протокола VNC. Чтобы иметь возможность подключаться по SSH или RDP, необходимо установить дополнительно клиент для желаемого протокола. Сделать это можно следующей командой:
В более новые версии дистрибутивов Linux клиенты, необходимые для подключения по протоколу RDP, могут быть уже включены.
Настройка Apache Guacamole
После установки Apache Guacamole автоматически применяет минимально необходимые для запуска настройки. Основным файлом конфигурации Apache Guacamole является guacamole.properties.
Все подробности об установке, настройке и управлении Apache Guacamole детально описаны в руководстве на официальном сайте.
Клиент Apache Guacamole максимально прост в использовании. Для запуска шлюза доступа к удаленному рабочему столу без клиента требуется иметь только браузер с поддержкой HTML5. Сама работа показана в коротком видео.
FreeRDP
Еще один бесплатный RDP клиент для Linux — FreeRDP. FreeRDP имеет лицензию Apache и открытый исходный код. Его можно встретить включенным в некоторые дистрибутивы Linux.
Установка FreeRDP
Актуальную на момент написания статьи версию FreeRDP можно установить командой из терминала:
Настройка FreeRDP
FreeRDP — терминальный клиент, поэтому все настройки для подключения вводятся одной командой:
- -u username — имя удаленного компьютера, к которому хотите подключиться;
- -p password — пароль учетной записи;
- -g 1280×1024 — разрешение экрана;
- XXX.XXX.XXX.XXX — IP удаленного компьютера.
Полный синтаксис можно найти в интернете.
Чтобы не вводить команду заново каждый раз, вы можете создать ярлык подключения со всеми необходимыми параметрами. Для этого, после установки FreeRDP, откройте окно терминала, запустите редактор nano: sudo nano
/rdp.sh. В появившемся окне введите следующие строки и сохраните файл:
Первая строка — это директория для ярлыка, а вторая строка — команда запуска FreeRDP со всеми требуемыми параметрами. FreeRDP также можно использовать совместно с клиентом Remmina в качестве графического интерфейса.
TigerVNC
TigerVNC — это полностью бесплатный клиент, он имеет открытый исходный код. Он отличается от предыдущих клиентов удаленного доступа тем, что он работает только по протоколу VNC.
Установка TigerVNC
Для работы TigerVNC требуется окружение рабочего стола. Мы выбрали окружение Gnome, установили его следующими командами:
Затем, чтобы установить компоненты TigerVNC, введите в окне терминала:
Если установка прошла успешно, запустите VNC-сервер: vncserver. Создастся дефолтная конфигурация, а от вас потребуется задать пароль для TigerVNC длиной от 6 до 8 символов.
Настройка TigerVNC
Следующим шагом вы должны будете настроить рабочее окружение для работы с TigerVNC. Чтобы избежать конфликтов, следует приостановить активный VNC-сервер командой в терминале: vncserver -kill :1.
Затем введите команду vi
/.vnc/xstartup, чтобы добавить файл xstartup в каталог конфигурации рабочего стола, откроется редактор.
В редакторе пропишите пять строк:
Эти строки будут выполняться при каждом запуске TigerVNC сервера. Сохраните файл, задайте ему разрешения:
Возобновите работу сервера, введя в терминале:
- :1 — номер дисплея;
- -localhost — разрешить соединения только с локального хоста;
- -geometry — разрешение экрана;
- -depth — глубина цвета.
TigerVNC — быстрый клиент удаленного доступа к компьютеру, однако, его функционал ограничивается VNC протоколом, и его установка чуть более требовательна, чем у аналогов.
rdesktop
Следующий клиент — rdesktop — поддерживается на платформах Linux, Microsoft Windows, имеет открытый исходный код. Выгодно отличает rdesktop от других клиентов поддержка протокола RDP 4.0, используемого в версиях Windows NT 4.0 Terminal Server Edition и Windows 2000 Server.
Установка rdesktop
Рекомендуем сперва проверить наличие rdesktop в дистрибутиве. Если rdesktop уже включен в систему, то он запустится командой rdesktop. Если rdesktop в дистрибутиве отсутствует, то установить его можно командой:
Настройка rdesktop
Подключение к удаленному рабочему столу производится из терминала командой:
Команда использует следующий синтаксис:
- -z — использовать сжатие потока;
- -P — использовать кэширование;
- -g/-f — оконный/полноэкранный режим;
- -u — имя пользователя удаленной машины;
- -p — пароль.для входа в учетную запись удаленного компьютера.
Это только некоторые из доступных команд, полный список легко находится в интернете.
Если вы в поиске простого и надежного клиента, который поддерживал бы также функции RDP4, то rdesktop будет оптимальным выбором.
Vinagre
Vinagre входит в стандартное окружение Gnome и по сути является официальным RDP клиентом Gnome. Это значит, что клиент Vinagre уже должен быть включен в ваш дистрибутив Linux с окружением Gnome, и его установка не потребуется.
Установка Vinagre
Если по какой-то причине клиент Vinagre отсутствует у вас в системе, вы можете его инсталлировать, введя в консоли:
Преимущества Vinagre это:
- Возможность подключить несколько удаленных рабочих столов одновременно. Каждый из них будет отображаться на отдельных вкладках.
- Поиск потенциальных подключений в локальной сети. Vinagre позволяет отслеживать доступные подключения.
- Поддержка VNC и SSH.
- Добавление подключений в избранное, наличие истории.
- Поддержка Gnome Keyring.
Если вы работаете с Gnome, то вам стоит обратить внимание на Vinagre, ознакомиться с этим клиентом поближе.
NoMachine NX Client
Утилита NX Client, разрабатывается компанией NoMachine. Программа работает по проприетарному протоколу NX, который разработан компанией NoMachine. NoMachine NX Client доступен для Windows, Linux, macOS, Android, iOS, Raspberry Pi, а также из браузера.
Установка NoMachine NX Client
Вам потребуется скачать установщик в любом формате (RPM, DEB, TAR.GZ) открыть и установить его на обе машины — локальную и удаленную. То же можно сделать и командой из терминала, но иметь копию пакета установки все равно потребуется.
NoMachine NX Client обладает впечатляющим набором функций, который расширяется с каждым обновлением.
Но, во-первых, для корпоративных клиентов NoMachine продает свои продукты по подписке (44,50 долларов в год за сервер или пакет 10 пользователей, подробнее). Это совсем не выгодно отличает NX Client от рассмотренных ранее полностью бесплатных клиентов. Во-вторых, большое число функций и вкладок с различными настройками и параметрами может помешать сосредоточиться на работе. Кроме того, NoMachine NX Client не поддерживает открытие нескольких сеансов во вкладках — каждый новый сеанс нужно открыть в новом окно программы. Зато вся документация и справка на официальном сайте NoMachine переведена на русский.
NoMachine NX Client — хороший выбор, если ваши основные требования это:
- Простота установки и настройки,
- Возможность подключиться к удаленному компьютеру
- из любой точки,
- с любого устройства,
- в любое время.
Krdc — бесплатный RDP клиент с открытым исходным кодом, идущий под лицензией GPL v.3. Krdc может работать по VNC и по RDP, клиент является официальным проектом окружения KDE для удаленного доступа.
Установка Krdc
Установить Krdc на дистрибутив Linux можно, введя в терминале:
Чтобы подключиться к удаленной машине, введите адрес в основную строку приложения, появится окно параметров подключения.
Если у вас есть потребность в простом клиенте удаленного доступа, то Krdc отлично подойдет. Дополнительным плюсом будет возможность выбора протокола подключения: RDP или VNC, по умолчанию поддержка SSH в Krdc отсутствует.
TeamViewer
TeamViewer — широко известный клиент для удаленного доступа, он является бесплатным только для частного использования. Стоимость корпоративного решения от 2 до 7 тысяч рублей в месяц за одно рабочее место, подробности можно узнать на сайте TeamViewer.
Одно из преимуществ TeamViewer — кроссплатформенность. После установки приложение позволяет подключаться к удаленному рабочему столу с Linux, Windows, macOS, Android, iOS, Blackberry и даже ChromeOS.
Установка TeamViewer
Для установки TeamViewer разработчики рекомендуют скачать пакет установки с официального сайта, после чего установить его через графический интерфейс на обе машины — локальную и удаленную. Установить TeamViewer через терминал можно соответствующими командами для соответствующего пакета, например DEB:
TeamViewer поддерживает функцию передачи данных по удаленному соединению, через него можно осуществлять доступ к заблокированному устройству, в приложении есть чат. TeamViewer способен работать даже если система не поддерживает SSH или на машине установлен корпоративный файервол. Однако, многие не готовы отдать ему предпочтение из-за закрытого исходного кода и широкого охвата пользователей.
Заключение
В статье мы разобрали популярные клиенты удаленного доступа для Linux. Каждый из названых программных продуктов обладает своими уникальными отличиями, что делает выбор интересным. Сам выбор остается за вами.
Источник