Содержание
- Используем RDP-клиенты в Linux
- Вариант 1: Remmina
- Вариант 2: rdesktop
- Вариант 3: freerdp
- Вопросы и ответы
Технология RDP (Remote Desktop Protocol) позволяет пользователям одинаковых или разных версий операционных систем совершать удаленное управление компьютером. Существуют специальные клиенты, отличимые от консольных утилит, где эта опция реализована через графический интерфейс, а это значит, что юзеру предоставляется полный вид рабочего стола, возможность взаимодействовать с клавиатурой и указателем мыши. В рамках сегодняшней статьи мы хотим рассказать об использовании популярных RDP-клиентов в Linux.
Сейчас существует не так много RDP-клиентов, поскольку имеются сложности в реализации технологии, которые связаны и с ее проприетарностью. Однако обычному юзеру на выбор предлагается не менее трех различных вариантов. Далее мы хотим рассказать лишь о самых популярных и надежных из них, а вы, отталкиваясь от инструкций, уже сможете инсталлировать подходящий клиент и производить подключение к серверу.
Вариант 1: Remmina
Remmina — самый популярный клиент удаленного рабочего стола, который по умолчанию предустановлен во многих дистрибутивах Linux. Однако зачастую его версия является устаревшей. Эта программа имеет простой и понятный GUI с огромным количеством вспомогательных инструментов. Освоить ее сможет даже начинающий пользователь, поэтому мы и поместили этот софт на первое место. Давайте пошагово разберем процедуру установки, настройки и подключения в Remmina.
Шаг 1: Установка
Начать следует с установки данного RDP-клиента в операционную систему. Как было сказано ранее, по умолчанию во многих дистрибутивах Remmina уже присутствует, но не помешает обновить ее версию, что не займет много времени.
- Если в вашей системе Remmina попросту отсутствует и вы хотите инсталлировать стабильную, но не самую последнюю сборку, для начала запустите «Терминал» удобным способом, например, через меню приложений или зажав комбинацию Ctrl + Alt + T.
- В открывшейся консоли введите
sudo apt install remmina
и нажмите на Enter. Замените пакетный менеджер apt на другой, если используете дистрибутив, основанный на RedHat или Fedora. - Всегда действия инсталляции запускаются от имени суперпользователя, поэтому приходится подтверждать их, вводя пароль в новой строке. Эта ситуация не стала исключением.
Далее может потребоваться дополнительное подтверждение расширения занятого дискового пространства. После успешного завершения инсталляции можно переходить к использованию клиента. Если же вы желаете обновить версию, придется задействовать пользовательские хранилища, поскольку на официальные новые сборки не поступают. Реализация будет немного сложнее, а выглядит так:
- В консоли введите
sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
, чтобы получить файлы из хранилища. - Подтвердите это действие, написав пароль учетной записи суперпользователя.
- Вы будете уведомлены о получаемых пакетах. Примите их, нажав на Enter.
- Ожидайте завершения скачивания файлов. Во время этой операции не закрывайте консоль и не прерывайте соединение с интернетом.
- После этого следует обновить список системных хранилищ через команду
sudo apt-get update
. - Остается только произвести инсталляцию RDP-клиента и сопутствующих ему плагинов, введя
sudo apt-get install remmina remmina-plugin-rdp libfreerdp-plugins-standard
. - Подтвердите информацию о занимаемом дисковом пространстве, выбрав ответ Д, и дожидайтесь окончания процедуры.
На этом инсталляция Remmina завершена. Старая версия будет автоматически замещена новой, следовательно, можно закрывать консоль и переходить к первому запуску программного обеспечения.
Шаг 2: Запуск и настройка
С запуском и конфигурацией Remmina разберется даже самый начинающий пользователь, а с последним поможет официальная документация. Однако мы все же хотим остановиться на основных моментах, чтобы при реализации этой задачи не возникло каких-либо трудностей.
- По умолчанию значок Remmina сразу же после установки будет добавлен в меню приложений. Отыщите его там, прокрутив список или воспользовавшись строкой поиска.
- Для перехода к настройкам кликните по кнопке в виде трех горизонтальных линий и выберите пункт «Параметры».
- Теперь на экране отобразится окно «Настройки Remmina». В нем присутствует огромное количество вкладок, отвечающих за внесения глобальных и пользовательских изменений. Например, здесь можно задать стандартное разрешение экрана, изменить комбинации клавиш, редактировать пункты протокола SSH и безопасности.
Мы не будем останавливаться на каждом присутствующем пункте детально, поскольку разработчики предоставляют официальную информацию по каждой опции, а также интерфейс Remmina имеет русский язык, что поможет самостоятельно во всем разобраться.
Шаг 3: Создание профиля и подключение
После установки оптимальной конфигурации Remmina остается только создать профиль для подключения, используя рассматриваемый протокол, чтобы успешно соединиться с удаленным рабочим столом. Мы предлагаем разобрать основной принцип этой процедуры.
- Найдите на верхней панели соответствующий значок и кликните по нему левой кнопкой мыши, чтобы отобразилась форма создания подключения.
- Заполните все строки в соответствии со своими требованиями. Обязательно перепроверяйте данные учетных записей и адреса серверов. После этого вы можете выбрать действие. Если нажать на «Подключить», указанные настройки сохранены не будут, ведь для этого следует кликнуть на «Сохранить и подключить».
- В будущем сохраненные профили можно запускать прямо через главное меню Remmina. Все доступные подключения отобразятся в виде таблицы с детальной информацией.
- После запуска откроется отдельное окно с виртуальным рабочим столом. Ожидайте начала загрузки и используйте инструменты на левой панели, чтобы управлять сеансом.
Теперь остается только приступить к взаимодействию с удаленным рабочим столом, выполняя там необходимые действия. Если у вас возникли какие-то вопросы по управлению Remmina, обратите особое внимание на документацию: там в максимально развернутом виде описаны ответы абсолютно на все вопросы пользователей.
Вариант 2: rdesktop
Следующий инструмент под названием rdesktop не является таким популярным среди начинающих пользователей, поскольку все настройки производятся через консоль путем ввода соответствующих команд. Однако это решение стало востребованным среди профессионалов и любителей консольных утилит.
Шаг 1: Установка rdesktop
Вкратце остановимся на самой процедуре инсталляции rdesktop. Данная программа доступа в официальных хранилищах дистрибутивов, благодаря чему юзеру не потребуется скачивать дополнительные файлы или пакеты.
- Откройте «Терминал» любым удобным образом.
- Введите команду
sudo apt-get install rdesktop
и нажмите на Enter. - Подтвердите это действие, введя пароль суперпользователя в новой строке.
- Установка будет продолжена сразу же после выбора положительного ответа «Д».
- Запуск данной утилиты тоже осуществляется через «Терминал» через команду
rdesktop
.
Если используемый дистрибутив основан не на Debian, аргумент apt-get в команде инсталляции придется заменить на yum или pacman. В остальном же никаких различий со сборками Linux не имеется.
Шаг 2: Запуск и подключение
Если в консоли просто вписать команду rdesktop
, следующими строками отобразится краткая сводка о синтаксисе и доступных опциях. Мы рекомендуем изучить появившиеся сведения, чтобы понять, как именно осуществляется соединение с удаленным рабочим столом через эту утилиту.
После этого можно осуществлять непосредственное подключение к другому компьютеру. Давайте разберем этот процесс на примере строки rdesktop -z -P -g 1280x900 -u USERNAME -p PASSWORD SERVER_IP
.
Здесь следует детально рассмотреть абсолютно каждый аргумент и вписываемую информацию.
Опция | Описание |
---|---|
-z | Эта опция отвечает за активацию сжатия потока. Используйте ее для оптимизации соединения. Особенно актуально для систем с низкой скоростью интернета |
-P | Создает кэширование. Это помогает сохранять некоторую информацию на локальном хранилище, в будущем не обращаясь каждый раз на сервер для ее загрузки |
-g | Устанавливает пользовательское разрешение окна рабочего стола. После этой опции введите необходимый параметр, чтобы он был применен |
-u | После этой опции укажите имя пользователя, которое будет отображаться на сервере |
-p | Данный аргумент необходим в случае присутствия пароля |
SERVER_IP | Всегда указывается в конце строки. Вместо этой надписи введите доменное имя сервера, к которому хотите осуществить подключение |
Шаг 3: Обмен файлами между Windows и Linux в текущей сессии
В завершение разбора утилиты rdesktop хотим рассказать об основных действия, выполняемых через ввод команд в консоли. Для начала поговорим о самых востребованных задачах, которые связаны с обменом файлов. Сетевая папка подключается через rdesktop -r disk:share=/home/documents -z -P -g 1280x900 -u USERNAME -p PASSWORD SERVER_IP
, где все указанные опции и адреса замените на требуемые.
После ввода этой команды папка станет доступна для чтения и записи, что позволит всячески управлять находящимися там файлами. Однако если возникли проблемы с доступом, придется закрыть сессию, активировать команду chown -R /home/documents USERNAME:USERGROUP
, а уже потом подключить директорию повторно.
Шаг 4: Создание значка быстрого доступа
При изучении первого RDP-клиента вы могли заметить, что все профили сохраняются в таблице графического меню, что позволяет быстро соединяться и переключаться между ними. К сожалению, в rdesktop такая функция попросту отсутствует, поэтому остается только один альтернативный метод — ручное создание кнопки быстрого доступа для каждого сервера.
- В консоли создайте пустой текстовый файл с произвольным названием через удобный текстовый редактор. Сама команда обретет примерно такой вид:
sudo nano rdesktop
, где nano — используемый текстовый редактор, а rdesktop — название самого файла. - При появлении окна вставьте две строки, указанные ниже, заменив опции и сведения о сервере на имеющиеся.
- Сохраните все изменения и завершите работу в текстовом редакторе.
- Введите команду
chmod +x rdesktop
, чтобы создать значок быстрого запуска на рабочем столе.
#!/bin/bash
rdesktop -z -P -g 1280x900 -u USERNAME -p PASSWORD SERVER_IP
Все остальные опции и нюансы взаимодействия с rdesktop, о которых мы не поговорили выше, детально описаны в официальной документации или используются довольно редко, поэтому и не нуждаются в объяснениях.
Вариант 3: freerdp
freerdp — самый новый из всех известных RDP-клиентов, который только начинает набирать обороты. Управление им тоже осуществляется в консоли, а функций сейчас мало, поэтому мы и поставили этот вариант на последнее место.
- Инсталлируется freerdp со всеми необходимыми компонентами через команду
sudo apt-get install freerdp libfreerdp-plugins-standard
. - Инсталляция начнется сразу же после подтверждения паролем.
- Выберите ответ Д, чтобы загрузить все архивы.
- Используйте строку
xfreerdp -u black -d WORK -n "Lumpics" -a 15 -k US -g 1440x830 --plugin cliprdr --plugin rdpdr --data disk:DiskP:/home/black -- my.rdp.server.net
, чтобы запустить соединение с сервером.
Теперь предлагаем изучить все опции, которые вы увидели в предыдущей строке. Они немного схожи с теми, что применялись во втором варианте при взаимодействии с клиентом rdesktop, но и имеют свои особенности.
Опция | Описание |
---|---|
-u | Отвечает за имя пользователя на сервере. Сразу же после этой опции должен быть вписан соответствующий логин |
-d | То же самое, но только с доменом рабочей группы, который определяется заранее и должен быть одинаковым у все участников локальной сети |
-n | Определяет имя хоста |
-a | После этого аргумента указывается глубина цвета окна. По умолчанию выбирается значение 15 |
-k | Устанавливает стандартную раскладку клавиатуры, где в качестве параметра указывается код государства |
-g | Определяет размер отображаемого окна в пикселях |
—plugin cliprdr | Активирует общий буфер обмена с будущим удаленным рабочим столом |
—plugin rdpdr —data disk:DiskP:/home/black — | Подключает домашнюю папку как общую сетевую и позволяет обмениваться данными |
my.rdp.server.net | Заменяется на имя используемого RDP-сервера |
Выше вы получили общую сводку о трех различных RDP-клиентах для Linux. Как видите, все они имеют свои особенности и подойдут разным пользователям. Каждый из них может соединяться с Windows, поэтому вся сложность выбора заключается лишь в различиях управления и реализации графического интерфейса окна показа удаленного рабочего стола.
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:
- Remmina
- FreeRDP
- rdesktop
- Vinagre
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:
- How to use Remote Desktop — Windows Support
- Remote Desktop — Allow access to your PC — Microsoft Docs
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:
1
# zypper in remmina remmina-plugin-rdp
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 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:
1
$ xfreerdp /v:hostname_or_ip_address /u:username
Making the appropriate substitutions. For example:
1
$ xfreerdp /v:10.0.0.251 /u:Kamarada
If you need to inform the computer’s domain, use the /d
parameter:
1
$ xfreerdp /v:hostname_or_ip_address /d:domain /u:username
If it’s the first time you connect to this computer, the FreeRDP client asks whether to trust its certificate:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[18:10:18:588] [3213:3214] [INFO][com.freerdp.client.common.cmdline] - loading channelEx cliprdr
[18:10:18:604] [3213:3214] [INFO][com.freerdp.crypto] - creating directory /home/linux/.config/freerdp
[18:10:18:604] [3213:3214] [INFO][com.freerdp.crypto] - creating directory [/home/linux/.config/freerdp/certs]
[18:10:18:604] [3213:3214] [INFO][com.freerdp.crypto] - created directory [/home/linux/.config/freerdp/server]
[18:10:18:613] [3213:3214] [ERROR][com.freerdp.crypto] - @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[18:10:18:613] [3213:3214] [ERROR][com.freerdp.crypto] - @ WARNING: CERTIFICATE NAME MISMATCH! @
[18:10:18:613] [3213:3214] [ERROR][com.freerdp.crypto] - @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[18:10:18:613] [3213:3214] [ERROR][com.freerdp.crypto] - The hostname used for this connection (10.0.0.251:3389)
[18:10:18:613] [3213:3214] [ERROR][com.freerdp.crypto] - does not match the name given in the certificate:
[18:10:18:613] [3213:3214] [ERROR][com.freerdp.crypto] - Common Name (CN):
[18:10:18:613] [3213:3214] [ERROR][com.freerdp.crypto] - WinDev2003Eval
[18:10:18:613] [3213:3214] [ERROR][com.freerdp.crypto] - A valid certificate for the wrong name should NOT be trusted!
Certificate details:
Subject: CN = WinDev2003Eval
Issuer: CN = WinDev2003Eval
Thumbprint: 23:7e:de:bc:85:d7:13:f3:e5:ce:e2:56:58:93:7d:f7:db:d1:bd:85
The above X.509 certificate could not be verified, possibly because you do not have
the CA certificate in your certificate store, or the certificate has expired.
Please look at the OpenSSL documentation on how to add a private CA to the store.
Do you trust the above certificate? (Y/T/N)
Type Y
(yes) and hit Enter. Then type your user password on the remote computer and hit Enter:
1
2
3
4
5
Do you trust the above certificate? (Y/T/N) Y
Password:
[18:11:31:595] [3213:3214] [INFO][com.freerdp.gdi] - Local framebuffer format PIXEL_FORMAT_BGRX32
[18:11:31:596] [3213:3214] [INFO][com.freerdp.gdi] - Remote framebuffer format PIXEL_FORMAT_RGB16
[18:11:32:782] [3213:3214] [INFO][com.winpr.clipboard] - initialized POSIX local file subsystem
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:
- on Windows, run:
- on Linux, run:
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:
1
2
3
Autoselected keyboard map en-us
ERROR: CredSSP: Initialize failed, do you have correct kerberos tgt initialized ?
Failed to connect, CredSSP required by server.
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:
- CredSSP does not work — Issue #71 — rdesktop/rdesktop — GitHub
- Add support for Network Level Authentication — Issue #279 — rdesktop/rdesktop — GitHub
- Doesn’t work if there is Fortress machine between connecting to the remote server — Issue #261 — rdesktop/rdesktop — GitHub
- Network Level Authentication (NLA) — rdesktop/rdesktop Wiki — GitHub
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:
- [opensuse-factory] Black screen when trying a RDP access to Windows 10 using Vinagre (Leap 15.1/15.2 and Tumbleweed)
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
- How to use Remote Desktop — Windows Support
- Remote Desktop — Allow access to your PC — Microsoft Docs
- Remote Graphical Sessions with VNC — Reference — openSUSE Leap 15.1
- Hi! — The history of the FreeRDP project — FreeRDP
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:
- Download a Windows 10 virtual machine — Windows app development
Время на прочтение
6 мин
Количество просмотров 63K
Что делать, если нужно получить удалённый доступ к серверу или десктопу Linux? Или подключиться к Windows-машине с Linux-десктопа? Какие клиенты RDP и FTP подходят лучше всего под Debian и Red Hat / CentOS? Интересно посмотреть, что нового появилось в последнее время.
Как известно, Remote Desktop Protocol (RDP) — проприетарный протокол Microsoft для удалённого управления десктопом. Ориентирован на передачу по сети графического интерфейса и всех функций управления.
Хотя протокол выпустила Microsoft, к настоящему моменту создано множество свободных серверов и клиентов RDP с открытым исходным кодом, под свободной лицензией и для всех операционных систем. В последние годы появились достойные серверы RDP под Linux, хотя раньше хосты всегда работали под Windows, а под Linux выпускались только клиенты. Однако к 2022 году ситуация сильно изменилась, так что стали возможно и противоположные сценарии.
Выбор сервера и клиента зависит от операционной системы хоста. RDP-сессия устанавливается между клиентом и сервером. Соответственно, для серверной и клиентской части RDP и FTP существуют разные инструменты, в том числе доступные в репозиториях Debian, Red Hat, CentOS и др.
Сервер RDP под Linux
В современных системах GNOME — сервер RDP уже интегрирован, но там много чего не хватает, так что приходится пока использовать сторонние решения. Судя по всему, сервер RDP в GNOME пока не доработан до окончательного вида. По крайней мере, там отсутствуют некоторые важные функции. Руководство по использованию и планы на доработку программы см. здесь.
▍ xRDP
Неплохой вариант для Linux-сервера — xRDP. Последняя версия 0.9.20 вышла 15 сентября 2022 года.
Эта программа специализируется на управлении Linux-десктопом по RDP, при этом xRDP как бы мимикрирует под Windows-систему, нативную для данного протокола.
Предполагается, что клиенты — это обычно системы под Windows, мобильные устройства или дешёвые RDP-терминалы типа Wyse Winterm (на Windows CE), которые можно дёшево купить б/у на «Авито» или найти списанные вообще бесплатно.
Старый терминал WYSE-530 Winterm S30 на процессоре AMD Geode 366 МГц (ноябрь 2008)
Поднимаете RDP-сервер под Linux с десятком X-сессий — и практически без усилий получаете сеть из десятка компьютеров, которые могут вводить информацию на сервер. Это просто пример, как использовать RDP-клиенты под Windows для доступа к Linux-серверу.
xRDP обеспечивает удалённый доступ по Microsoft Remote Desktop Protocol (RDP) и принимает соединения по порту 3389/tcp
от следующих RDP-клиентов:
- FreeRDP.
- rdesktop.
- KRDC.
- NeutrinoRDP.
- Windows MSTSC (Microsoft Terminal Services Client, она же
mstsc.exe
). - Microsoft Remote Desktop (есть Microsoft Store, отличается от MSTSC).
Некоторые из этих клиентов доступны только на определённых ОС, например, только на Windows. Другие поддерживают более широкий список платформ, включая Linux, MacOS, iOS и/или Android.
xRDP поддерживает повторные подключения к прерванной сессии, изменение размера дисплея, функцию RDP/VNC-прокси (подключение к другому серверу RDP/VNC через xrdp), двусторонний буфер обмена между хостом и клиентом, в том числе передачу через него туда и обратно текста, изображений и файлов, перенаправление аудиопотока и микрофона (требует сборки дополнительных модулей), перенаправление дисков (монтирование локальных клиентских дисков на удалённой машине).
В большинство популярных дистрибутивов включены последние версии пакетов xrdp
и xorgxrdp
, они есть также в Debian и CentOS.
▍ Установка на Ubuntu / Debian
apt install xrdp
▍ Установка на RedHat / CentOS / Fedora
На RedHat / CentOS сначала нужно активировать пакеты EPEL:
yum install epel-release
Потом можно установить xrdp
yum install xrdp
ogon
Один из многочисленных альтернативных вариантов сервера RDP под Linux — проект ogon. Это набор инструментов на C/C++, которые предоставляют удобный GUI для удалённого десктопа по RDP. Проект поддерживает большинство современных расширений протокола RDP, кодеки сжатия растровых изображений, отключение и повторное подключение к сессиям, перенаправление устройств.
Сервер совместим практически со всеми существующими клиентами RDP, сессии можно устанавливать через приложение X11, Weston или QT. Благодаря модульной конструкции, сервер легко расширяется, в него можно добавить новые функции или новые бэкенды. Ставится на Debian, CentOS и т. д.
xpra
Известный сервер под Linux с терминальными GUI-сессиями (экран для X11) — xpra. Во многом работает как xRDP, хотя и не поддерживает RDP. Но мы решили помянуть его здесь для сравнения с решениями на RDP и VNC.
Тут встроенный HTML5-клиент, аппаратное ускорение графики, поддержка множества пользователей, GUI для настройки, синхронизация клавиатуры и буфера обмена, перенаправление принтера, курсора, звука, системных уведомлений, поддержка IPv6, SSL, десктопный режим и проч.
Официальные стабильные сборки:
- Microsoft Windows: EXE, ZIP, MSI
- MacOS: DMG, PKG
- Linux: RPM, DEB
Клиенты RDP и FTP под Linux
Пожалуй, лучшие клиенты RDP под Debian — это Remmina и Apache Guacamole, хотя есть и другие варианты.
Remmina
Remmina — клиент RDP по умолчанию в некоторых дистрибутивах, в том числе в Ubuntu. Это одна из самых удобных и функциональных программ для удалённой работы, поддерживает RDP, SSH, SPICE, VNC, X2Go, HTTP/HTTPS.
В июне 2022 вышла последняя версия 1.4.27 с исправлением ошибок и рядом не самых существенных изменений вроде новых цветовых схем для SSH.
Некоторые из основных функций Remmina, которые можно настраивать на стороне клиента RDP:
- Запоминание последнего режима просмотра для каждого соединения.
- Конфигурация двойным щелчком.
- Качество масштабирования.
- Размер шага автоматической прокрутки.
- Максимальное количество последних элементов.
- Нажатия клавиш.
- Папка для скриншотов.
- Предотвращение попадания скриншотов в буфер обмена.
- Настройка разрешения экрана.
- Конфигурация вкладок.
- Видимость панели инструментов.
- Режим просмотра по умолчанию.
- Настройка поведения в полноэкранном режиме.
- Строка поиска в главном окне.
- Установка горячих клавиш для хоста: включение полноэкранного режима, автоподгонка окна, переключение страниц вкладок, переключение режима масштабирования, захват клавиатуры, минимизировать окно, показать/скрыть панель инструментов, сделать скриншот, режим просмотра.
- Локальный порт SSH-туннеля.
- Парсинг
~/.ssh/config
. - Логи SSH.
- Выбор шрифта терминала.
- И др.
В наборе плагинов есть SFTP для защищённой передачи файлов.
Из специфических настроек RDP — установка глубины цвета, качества передачи видео и звука, редирект локального микрофона, подключение консоли, распознавание сервера через Remote Desktop Gateway, возможность отключить автоматические реконнекты, синхронизацию буфера обмена и некоторых других функций.
Remmina входит в состав большинства популярных дистрибутивов, включая Debian 11:
В старых версиях Debian для установки Remmina можно скопировать строки в консоль:
echo 'deb http://ftp.debian.org/debian stretch-backports main' | sudo tee --append /etc/apt/sources.list.d/stretch-backports.list >> /dev/null
sudo apt update
sudo apt install -t stretch-backports remmina remmina-plugin-rdp remmina-plugin-secret remmina-plugin-spice
Сразу после установки предлагается сделать Remmina клиентом RDP по умолчанию:
Инструкции по установке для всех систем см. на этой странице, а руководство по сборке из исходников — в справочном вики.
На CentOS есть вариант установки из репозитория EPEL, вставив в консоль следующие строчки:
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
В качестве альтернативы — Remmina устанавливается через универсальный пакет Flatpak, который работает буквально на всех дистрибутивах:
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# In order to have H.264 codecs
flatpak install org.freedesktop.Platform
flatpak install org.freedesktop.Platform.openh264
flatpak install --user flathub org.remmina.Remmina
flatpak run --user org.remmina.Remmina
Apache Guacamole
Apache Guacamole (HTML5, в браузере) предоставляет доступ к хосту без клиента, то есть без инсталляции на компьютер клиентской части. Работает просто через браузер. Последняя версия 1.4.0 вышла 1 января 2022 года.
Понятно, что браузерный клиент имеет определённые преимущества, поскольку запускается абсолютно на любом устройстве, где есть браузер, независимо от операционной системы.
Более того, сам десктоп необязательно должен существовать физически, это может быть просто виртуальная машина на сервере.
Из других RDP и VNC-клиентов под Linux можно упомянуть Vinagre, Boxes, TightVNC (для доступа к Windows-хостам), FreeRDP (xfreerdp/wlfreerdp, пакет для Debian) и rdesktop.
Telegram-канал и уютный чат
RDP (сокращение «Remote Desktop Protocol») — это проприетарный протокол для доступа к удаленному рабочему столу. По умолчанию он установлен во все современные ОС линейки Windows, однако в качестве сервера может выступать и линукс-система с графическим интерфейсом и установленным пакетом xrdp. В рамках этой статьи мы сосредоточимся на linux rdp клиентах и их настройке, а также рассмотрим основные принципы его работы.
Remote Desktop Protocol
RDP расположен на прикладном уровне сетевой модели OSI и работает на основе протокола транспортного уровня TCP. Схема его работы выглядит следующим образом:
- Устанавливается соединение с помощью TCP на транспортном уровне;
- Инициализируется сессия RDP;
- Аутентифицируется RDP-клиента и согласовываются параметры передачи данных;
- Реализуется сеанс удаленной работы: на RDP-клиент получает управление над сервером.
Сервер — это компьютер, К которому происходит удаленное подключение. RDP-клиент — приложение на компьютере, С которого происходит подключение. Во время сессии все вычислительные процессы лежат на плечах сервера. На RDP-клиент поступает графический интерфейс ОС сервера, которой RDP-клиент управляет с помощью устройств ввода. Графический интерфейс на RDP-клиент поступает в виде точной копии графического вывода ОС сервера или в виде графических примитивов (прямоугольники, круги, текст и т.п.) для экономии трафика. По умолчанию RDP использует порт 3389, но его можно поменять при необходимости.
Пример использования RDP — управление с linux удаленным рабочим столом Windows. Находясь в любой точке мира, вы можете подключиться к нему через интернет и работать, не задумываясь о производительности вашего RDP-клиента.
Изначально RDP появился в WIndows NT 4.0. По умолчанию этот протокол предустановлен во всех ОС линейки Windows. Однако реализация Linux remote desktop требует установки специального программного обеспечения.
Для обеспечения безопасности RDP-сессии используются два метода: внутренний и внешний.
Standart RDP Security — это внутренняя подсистема безопасности. Сервер генерирует ключи RSA и сертификат открытого ключа. Во время подключения RDP клиент получает их. В случае подтверждения проводится аутентификация.
Enhanced RDP Security — это метод обеспечения безопасности с помощью внешних средств. Существуют различные способы обеспечения защиты передаваемых данных, например, протокол TLS.
Плюсы RDP
- RDP непривередлив к сети: он может работать через VPN, NAT, по TCP или UDP. Поддерживает переадресацию и т.п. Также RDP устойчив к разрывам связи;
- Для работы достаточно 300-500 кбит скорости;
- Мощный сервер позволяет запускать на слабом RDP-клиенте тяжелые приложения;
- Возможность сеанса подключения linux rdp to windows.
Минусы RDP
- Использование приложений, требовательных к пингу (времени отклика), такие, как игры или просмотр видео, может быть затруднено;
- Требование к стабильности сервера;
- Передача данных (файлов, документов) между rdp-клиентом и сервером из-за скорости интернета может быть усложнена.
Настройка RDP-сервера на Windows
Наиболее распространенный сценарий использования RDP — подключение к выделенному Windows-серверу с компьютера, работающего под другой системой, например с помощью linux-клиента.
Выгодно арендовать выделенный сервер можно на timeweb.cloud
Чтобы сделать удаленный доступ с клиента в принципе возможным, необходимо правильно настроить целевое устройство. Сама настройка довольно простая — все должно работать «из коробки» во всех современных Windows системах (в большинстве редакций). Как уже упоминалось, rdp клиент windows также предустановлен в большинстве современных систем.
Сначала разрешаем подключение к компьютеру через RDP. Делается это во вкладке Удаленный доступ в Свойствах системы:
Также тут можно выбрать пользователей, у которых будет доступ (по умолчанию только у администратора).
Не лишним будет проверить настройки брандмауэра, который может блокировать соединение. В некоторых системах профиль «Общий» и «Частный» для входящих подключений RDP по умолчанию выключен, и, если сервер не входит в домен, то RDP работать не будет. Поэтому переходим в Брандмауэр Windows->Разрешенные приложения и ставим необходимые галочки:
Если система находится за роутером, то возможно понадобится настройка портов. Сделать это можно через веб-интерфейс роутера в разделе Port Forwarding (зависит от модели роутера). Напомним, что RDP использует порт TCP 3389 по умолчанию.
RDP-клиенты для linux
rdesktop
Сайт: rdesktop.org
Rdesktop linux — это свободный, легкий и надежный RDP-клиент (лицензия GPL), доступный для Linux, BSD и Microsoft Windows. Реализует большинство функций RDP 5: кеширование bitmap, сжатие и шифрование потоков, автоматическую аутентификацию, RemoteApp, NLA. Также поддерживает RDP 4.0, используемый в Windows NT 4.0 Terminal Server Edition и Windows 2000 Server.
Содержится в репозиториях многих дистрибутивов, так что скачать и установить ubuntu rdp client или debian rdp client можно с помощью пакетного менеджера. Например, в Ubuntu это делается командой:
sudo apt install rdesktop
Подключение и настройка происходит полностью в командной строке. Формат rdp команды:
rdesktop [опция] сервер[:порт]
Опции:
- -u — логин юзера удаленной машины;
- -p — пароль юзера удаленной машины;
- -f — запуск в полноэкранном режим;
- -g — в окне с разрешением (WIDTHxHEIGHT).
Остальные ключи можно посмотреть в man
.
remmina
Сайт: remmina.org
Remmina linux — программа-клиент удаленного рабочего стола с графическим интерфейсом, написанная на GTK+. Идет под лицензией GPL. Помимо RDP, remmina работает также с протоколами VNC, NXM XDMCP, SPICE, X2Go и SSH.
Одной из главных особенностей является расширение возможностей с помощью плагинов, например добавление поддержки новых протоколов. Поэтому при базовой установке в настройках remmina вы не найдете RDP. Для этого нужно установить дополнительный плагин (пакет freerdp). После этого перезагрузите программу, и RDP станет доступным из меню.
Для добавления нового соединения нажмите выделенную кнопку:
Далее откроется окно с настройкой подключения. Здесь раскрывается еще один плюс Remmina — возможность гибкой настройки (скорость и качество отображения, фоновый рисунок, горячие клавиши, темы оформления, анимации и т.д.). Не волнуйтесь, для обычного подключения вам нужно знать лишь данные пользователя удаленной машины и IP-адрес:
Сохраняем настройку. Теперь мы можем подключаться к нужной машине в два клика из главного меню:
Если возникла необходимость запуска remmina на windows, то на официальном сайте есть соответствующий гайд.
FreeRDP
Сайт: freerdp.com
FreeRDP — форк проекта rdesktop, распространяемый под лицензией Apache. В отличие от своего прародителя, который в последний раз обновлялся в 2019 году, FreeRDP активно поддерживается создателями.
FreeRDP является терминальным клиентом. Запуск и настройка происходят полностью в командной строке. Структура команды и ключи практически такие же, как и у rdesktop, например:
xfreerdp -u USERNAME -p PASSWORD -g WIDTHxHEIGHT IP
С помощью этой команды происходит подключение к серверу по адресу IP под именем USERNAME с паролем PASSWORD с отображением рабочего стола в окне:
Apache Guacamole
Сайт: guacamole.apache.org
Самый простой и при этом самый сложный вариант удаленного управления linux. Простой, потому что не нужно никаких программ, сервисов и клиентов — все работает прямо в браузере. Сложный, потому что для функционирования требуется один раз установить и сконфигурировать сервер.
Apache Guacamole — это клиентский шлюз для удаленного подключения, работающий на HTML5. Он позволяет использовать целый набор протоколов удаленного доступа: Telnet, SSH, VNC, RDP — через веб-интерфейс. Документация по установке и конфигурации сервиса очень внушительна, однако на просторах Интернета есть множество готовых скриптов, которые автоматически помогут сделать базовую конфигурацию.
Скачиваем скрипт установки:
wget https://git.io/fxZq5 -O guac-install.sh
Делаем файл исполняемым:
chmod +x guac-install.sh
Запускаем:
./guac-install.sh
После установки скрипт выдаст адрес для подключения и пароль. Чтобы подключиться к серверу Windows через RDP, в панели администрирования заходим в «Настройки», выбираем «Подключения» и создаем новое:
Так как для RDP нужно знать лишь данные пользователя на удаленной машине и IP-адрес, вводим минимально нужное количество информации:
Теперь на главной странице доступно настроенное подключение, через которое мы можем получить удаленный рабочий стол:
Заключение
RDP протокол — это удобное средство для подключения к удаленной машине под управлением Windows или 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 устанавливается через терминал:
sudo apt install remmina
В дистрибутивах Ubuntu, как правило, уже имеется клиент Remmina, однако, версия обычно устаревшая поэтому рекомендуется ее обновить.
Обновление Remmina
В терминале нужно ввести команду:
sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
Затем запросите обновление списка системных хранилищ:
sudo apt-get update
Следующий шаг — установка или обновление плагина протокола RDP:
sudo apt-get install remmina remmina-plugin-rdp libfreerdp-plugins-standard
Чтобы завершить установку 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 из терминала производится командой:
sudo apt-get install guacamole-tomcat
Поскольку Apache Guacamole — серверный клиент, требуется установить Tomcat Server на вашу машину, после чего программа установки попросит его перезапустить.
По умолчанию Apache Guacamole устанавливается с поддержкой только протокола VNC. Чтобы иметь возможность подключаться по SSH или RDP, необходимо установить дополнительно клиент для желаемого протокола. Сделать это можно следующей командой:
apt-get install libguac-client-ssh0 libguac-client-rdp0
В более новые версии дистрибутивов Linux клиенты, необходимые для подключения по протоколу RDP, могут быть уже включены.
Настройка Apache Guacamole
После установки Apache Guacamole автоматически применяет минимально необходимые для запуска настройки. Основным файлом конфигурации Apache Guacamole является guacamole.properties.
Все подробности об установке, настройке и управлении Apache Guacamole детально описаны в руководстве на официальном сайте.
Клиент Apache Guacamole максимально прост в использовании. Для запуска шлюза доступа к удаленному рабочему столу без клиента требуется иметь только браузер с поддержкой HTML5. Сама работа показана в коротком видео.
FreeRDP
Еще один бесплатный RDP клиент для Linux — FreeRDP. FreeRDP имеет лицензию Apache и открытый исходный код. Его можно встретить включенным в некоторые дистрибутивы Linux.
Установка FreeRDP
Актуальную на момент написания статьи версию FreeRDP можно установить командой из терминала:
sudo apt install freerdp2-x11
Настройка FreeRDP
FreeRDP — терминальный клиент, поэтому все настройки для подключения вводятся одной командой:
xfreerdp -u username -p password -g 1280×1024 XXX.XXX.XXX.XXX
Синтаксис команды:
- -u username — имя удаленного компьютера, к которому хотите подключиться;
- -p password — пароль учетной записи;
- -g 1280×1024 — разрешение экрана;
- XXX.XXX.XXX.XXX — IP удаленного компьютера.
Полный синтаксис можно найти в интернете.
Чтобы не вводить команду заново каждый раз, вы можете создать ярлык подключения со всеми необходимыми параметрами. Для этого, после установки FreeRDP, откройте окно терминала, запустите редактор nano: sudo nano ~/rdp.sh. В появившемся окне введите следующие строки и сохраните файл:
#!/bin/bash
xfreerdp -u username -p password -g 1280×1024 XXX.XXX.XXX.XXX
Первая строка — это директория для ярлыка, а вторая строка — команда запуска FreeRDP со всеми требуемыми параметрами. FreeRDP также можно использовать совместно с клиентом Remmina в качестве графического интерфейса.
TigerVNC
TigerVNC — это полностью бесплатный клиент, он имеет открытый исходный код. Он отличается от предыдущих клиентов удаленного доступа тем, что он работает только по протоколу VNC.
Установка TigerVNC
Для работы TigerVNC требуется окружение рабочего стола. Мы выбрали окружение Gnome, установили его следующими командами:
sudo apt install ubuntu-gnome-desktop
sudo systemctl enable gdm
sudo systemctl start gdm
Затем, чтобы установить компоненты TigerVNC, введите в окне терминала:
sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension tigervnc-viewer
Если установка прошла успешно, запустите VNC-сервер: vncserver. Создастся дефолтная конфигурация, а от вас потребуется задать пароль для TigerVNC длиной от 6 до 8 символов.
Настройка TigerVNC
Следующим шагом вы должны будете настроить рабочее окружение для работы с TigerVNC. Чтобы избежать конфликтов, следует приостановить активный VNC-сервер командой в терминале: vncserver -kill :1.
Затем введите команду vi ~/.vnc/xstartup, чтобы добавить файл xstartup в каталог конфигурации рабочего стола, откроется редактор.
В редакторе пропишите пять строк:
#!/bin/sh
exec /etc/vnc/xstartup
xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &
Эти строки будут выполняться при каждом запуске TigerVNC сервера. Сохраните файл, задайте ему разрешения:
chmod 700 ~/.vnc/xstartup
Возобновите работу сервера, введя в терминале:
vncserver :1 -localhost -geometry 1280x1024 -depth 12
Синтаксис следующий:
- :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 в дистрибутиве отсутствует, то установить его можно командой:
sudo apt-get install rdesktop
Настройка rdesktop
Подключение к удаленному рабочему столу производится из терминала командой:
rdesktop -z -P (-g/-f) 1280x1024 -u USER -p PASSWORD SERVER-ADDRESS
Команда использует следующий синтаксис:
- -z — использовать сжатие потока;
- -P — использовать кэширование;
- -g/-f — оконный/полноэкранный режим;
- -u — имя пользователя удаленной машины;
- -p — пароль.для входа в учетную запись удаленного компьютера.
Это только некоторые из доступных команд, полный список легко находится в интернете.
Если вы в поиске простого и надежного клиента, который поддерживал бы также функции RDP4, то rdesktop будет оптимальным выбором.
Vinagre
Vinagre входит в стандартное окружение Gnome и по сути является официальным RDP клиентом Gnome. Это значит, что клиент Vinagre уже должен быть включен в ваш дистрибутив Linux с окружением Gnome, и его установка не потребуется.
Установка Vinagre
Если по какой-то причине клиент Vinagre отсутствует у вас в системе, вы можете его инсталлировать, введя в консоли:
sudo apt-get install 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
Krdc — бесплатный RDP клиент с открытым исходным кодом, идущий под лицензией GPL v.3. Krdc может работать по VNC и по RDP, клиент является официальным проектом окружения KDE для удаленного доступа.
Установка Krdc
Установить Krdc на дистрибутив Linux можно, введя в терминале:
sudo apt-get install krdc
Чтобы подключиться к удаленной машине, введите адрес в основную строку приложения, появится окно параметров подключения.
Если у вас есть потребность в простом клиенте удаленного доступа, то Krdc отлично подойдет. Дополнительным плюсом будет возможность выбора протокола подключения: RDP или VNC, по умолчанию поддержка SSH в Krdc отсутствует.
TeamViewer
TeamViewer — широко известный клиент для удаленного доступа, он является бесплатным только для частного использования. Стоимость корпоративного решения от 2 до 7 тысяч рублей в месяц за одно рабочее место, подробности можно узнать на сайте TeamViewer.
Одно из преимуществ TeamViewer — кроссплатформенность. После установки приложение позволяет подключаться к удаленному рабочему столу с Linux, Windows, macOS, Android, iOS, Blackberry и даже ChromeOS.
Установка TeamViewer
Для установки TeamViewer разработчики рекомендуют скачать пакет установки с официального сайта, после чего установить его через графический интерфейс на обе машины — локальную и удаленную. Установить TeamViewer через терминал можно соответствующими командами для соответствующего пакета, например DEB:
apt install teamviewer_12.0.xxxxx_i386.deb
TeamViewer поддерживает функцию передачи данных по удаленному соединению, через него можно осуществлять доступ к заблокированному устройству, в приложении есть чат. TeamViewer способен работать даже если система не поддерживает SSH или на машине установлен корпоративный файервол. Однако, многие не готовы отдать ему предпочтение из-за закрытого исходного кода и широкого охвата пользователей.
Заключение
В статье мы разобрали популярные клиенты удаленного доступа для Linux. Каждый из названых программных продуктов обладает своими уникальными отличиями, что делает выбор интересным. Сам выбор остается за вами.