RDP-клиенты для Linux: ТОП-3 варианта

В службу технической поддержки RUVDS регулярно обращаются по поводу GUI и удаленного доступа к нему на виртуальных серверах с Linux, несмотря на то что в интернете достаточно много материалов…

Введение

На всякий случай возможно стоит упомянуть, что SSH — основной способ предоставления доступа к линуксовым виртуалкам на

RUVDS

. Большая часть действий описываемых в этой статье будет осуществляться именно таким образом.

Для подключения необходимо найти SSH-клиент для вашей операционной системы.

Windows:

  1. PuTTY: Telnet/SSH-Клиент
  2. OpenSSH для Cygwin
  3. OpenSSH для MinGW
  4. WinSCP

Linux:

  1. OpenSSH; если Вы пользуетесь Linux, например Ubuntu, скорее всего всё уже установлено, до нас, так что можно смело писать в терминале: ssh root@[IP].
  2. PuTTY есть и для Linux, в том числе в официальных репозиториях Debian и Ubuntu.

MAC OS:

  1. OpenSSH; это бесплатно!
  2. ZOC (80$!)
  3. vSSH

Плагины для браузеров:

  1. FireSSH для Firefox
  2. Secure Shell для Google Chrome

Лучшие RDP клиенты в Linux

1. Remmina

Для этой операционной системы существует не так много клиентов и это лучший клиент RDP для Linux. У программы есть удобный графический интерфейс, множество различных настроек, возможность сохранения ярлыков для быстрого подключения к удалённым узлам с нужными вам настройками. Но автоматически ярлыки не сохраняются, вам надо будет делать это вручную. Кроме протокола RDP поддерживается VNC и SSH. Программа разрабатывается в рамках проекта FreeRDP, с использованием библиотеки GTK. Есть порт на Qt. Разрабатывается достаточно активно и новые версии выходят раз в несколько месяцев. Для установки достаточно выполнить команду:

sudo apt install remmina

2. Gnome Connections

Это совсем новая утилита, разработка которой стартовала в начале 2020 года. Connections — очень простое приложение, сделанное специально для Gnome и предназначенное для управления удалёнными подключениями. Из протоколов поддерживаются RDP и VNC. В отличие от Remmina, настроек в утилите совсем нет, вы можете только указать адрес и порт компьютера, к которому надо подключится и включить или отключить масштабирование. И всё никаких настроек передачи звука, буфера обмена, захвата клавиш, разрешения экрана нет. Программа всё ещё находится в разработке, но её уже можно установить из Flathub:

flatpak install flathub org.gnome.Connections

А для запуска используйте команду:

flatpak run org.gnome.Connections

3. Vinagre

Это ещё одно приложение для Gnome, которое раньше позиционировалось как программа по умолчанию для управления удалёнными соединениями в Gnome. Настроек здесь уже немного больше, по сравнению с Connections, но всё ещё меньше, чем у Remmina. При подключении вы можете выбрать протокол, имя пользователя и разрешение экрана, а также надо ли масштабировать рабочий стол удалённой машины. Из протоколов поддерживается RDP, SSH, SPICE и VNC. Программа довольно простая и свою работу выполняет, но разрабатывается уже не очень активно. Установить в Ubuntu можно командой:

sudo apt install vinagre

4. Xfreerdp

С полностью графическими клиентами RDP для Linux мы закончили. Но есть ещё несколько использующих консольный интерфейс. Первая из них — xfreerdp. Настроек здесь ещё больше чем у Remmina, но задавать их все надо в командной строке. Поддерживается только протокол RDP. Программа достаточно активно разрабатывается и поддерживает все необходимые новшества протокола RDP. Для подключения к серверу используется опция /v. Например:

xfreerdp /v:ip_сервера:порт /u:имя_пользователя

Для установки программы в Ubuntu используйте команду:

sudo apt install freerdp2-x11

5. Rdesktop

Последняя в нашем списке консольная утилита rdesktop. Это самая первая реализация клиента RDP для Linux. В далёком 2009 году, проект FreeRDP был создан на основе форка Rdesktop. Сейчас проект почти не развивается, а с 2019 года ищет мэйнтейнера. И у программы есть ещё одна проблема. В новых версиях Windows компания Microsoft добавила новую авторизацию NLA (Network Level Authentication). Программа Rdesktop её не поддерживает, поэтому если вы захотите использовать её для подключения к Windows, эту технологию стоит отключить. Или же вы можете использовать любую другую программу из перечисленных выше. Чтобы подключится к удалённой машине надо просто передать её адрес программе:

rdesktop ip_адрес

Для установки rdesktop выполните:

sudo apt install rdesktop

Удвоим удовольствие

Есть ряд возможностей, которые вы упустите при использовании SSH, работающем на другой машине. Две самых важных — функции сжатия и возобновления сессии. Вы, возможно, слышали о Citrix — у этого коммерческого решения огромное количество функций, которые многие предприятия считают весьма полезными, но обычным пользователям они только усложняют дело.

Клиентов, или просмотрщиков [viewer], для локального компьютера имеется множество, и многие адаптированы под ваш рабочий стол. Как обычно, всё, что начинается с ‘g’ — для инструментария GTK. Большинство абонентов включены в ваш дистрибутив, и их можно добавить через менеджер пакетов. Ваш автор использует для доступа к своим серверам просмотрщик tigervnc и канал SSH.

При тестировании этого вы должны начать с установки и настройки сервера, а уж потом сможете внести разные клиенты. Установка VNC-сервера на удаленной машине требует привилегий root, если только вы не решите воспользоваться инструментом области пользователя, например, Linuxbrew.

Процедура установки использует обычные команды управления пакетами:

$sudo apt install vncserver

или

$sudo yum install vncserver

Чтобы настроить сервер, вы можете просто оставить его как есть, потому что настройки по умолчанию вполне разумны.

Теперь хитрость в том, чтобы обеспечить открытость всех портов, и здесь нам опять нужны привилегии root. Обычно vncserver начинает с порта номер 5901 и поднимается вверх по номерам. Однако этот номер можно назначить любым, если только вы не запутаете своих напарников или не обращаетесь к общим портам. Поскольку протокол VNC небезопасен, этот подход не рекомендуется, разве что вы используете его внутри своей собственной сети и при проводном соединении.

Однако, чтобы повысить безопасность, надо пресечь использование порта 59xx. Для этого добавьте опцию “localhost” в виде одной строки в ~/.vnc/config. Следующее относится к приведенному выше примеру, но в таком формате:

~/.vnc/config

## В этом файле можно перечислить поддерживаемые ## опции сервера для передачи vncserver при вызове.

## Для подробностей — man-страницы vncserver(l) Xvnc(1).

## Несколько типовых опций показаны ниже.

## Раскомментируйте и модифицируйте как вам надо.

geometry=1200×700

alwaysshared

dpi=96

localhost

Система с такими настройками требует для работы канал SSH. Кстати о нем…

Предварительные требования

Для работы с этой статьей требуется существующая виртуальная машина Ubuntu 18.04 LTS в Azure. Если требуется создать виртуальную машину, используйте один из следующих методов:

  • Интерфейс командной строки Azure
  • портал Azure.

Подготовка системы

Все действия описанные ниже мы будем выполнять с правами суперпользователя. Для этого переходим в режим sudo:

sudo su

… или заходим под root:

su — root

* по умолчанию, в Ubuntu не задан пароль от root и данная команда не сработает. В этом случае сначала задаем пароль руту — passwd root.

Если используется брандмауэр, добавляем правило:

iptables -A INPUT -p tcp —dport 5901 -j ACCEPT

* в данном примере, мы разрешаем входящие соединения на порту 5901. Для работы с несколькими портами, добавляем их по аналогии.

Как пользоваться freerdp

Для установки freerdp в Debian, Kali Linux, Linux Mint, Ubuntu и производные выполните команду:

sudo apt install freerdp2-x11 freerdp2-shadow-x11

Если пакеты freerdp2-x11 и freerdp2-shadow-x11 не найдены, то поищите пакет с именем freerdp.

Для установки freerdp в Arch Linux и производные выполните команду:

sudo pacman -S freerdp

Как подключиться командой freerdp

Для подключения к удалённому рабочему столу с помощью xfreerdp, запустите команду вида:

xfreerdp /f /u:ИМЯ-ПОЛЬЗОВАТЕЛЯ /p:ПАРОЛЬ /v:ХОСТ[:ПОРТ]

В этой команде:

  • /f — опция означает открыть удалённый стол в полноэкранном режиме
  • /u:ИМЯ-ПОЛЬЗОВАТЕЛЯ — имя учётной записи на компьютере, к которому подключаемся
  • /p:ПАРОЛЬ — пароль указанной учётной записи
  • /v:ХОСТ[:ПОРТ] — IP адрес или имя компьютера, к удалённому столу которого выполняется подключение. ПОРТ указывать необязательно

Например, я хочу открыть удалённый стол компьютера с IP адресом 192.168.0.101, на котором имеется пользователь Tester с паролем 1234, причём я хочу открыть удалённый рабочий стол в полноэкранном режиме, тогда команда следующая:

xfreerdp /f /u:Tester /p:1234 /v:192.168.0.101

Для переключения между полноэкранным режимом и оконным, используется сочетание клавиш Ctrl+Alt+Enter.

При первом подключении появляется следующее сообщение о проблеме с сертификатом:

[11:02:36:086] [26320:26321] [INFO][com.freerdp.client.common.cmdline] — loading channelEx cliprdr[11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] — @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@[11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] — @ WARNING: CERTIFICATE NAME MISMATCH! @[11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] — @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@[11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] — The hostname used for this connection (192.168.0.101:3389) [11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] — does not match the name given in the certificate:[11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] — Common Name (CN):[11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] — HackWare-MiAl[11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] — A valid certificate for the wrong name should NOT be trusted!Certificate details: Subject: CN = HackWare-MiAl Issuer: CN = HackWare-MiAl Thumbprint: 6a:4c:be:35:23:5f:46:b5:bd:37:15:5e:f7:21:ec:59:aa:c1:1c:3eThe above X.509 certificate could not be verified, possibly because you do not havethe 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)

Поскольку используются самоподписанные сертификаты без добавленного в хранилище приватного CA (центра аутентификации, удостоверяющего центра), то единственный выбор, это согласиться доверять указанному сертификату, для этого введите Y.

В полноэкранном режиме вы можете отключиться от удалённого рабочего стола двумя способами:

  • нажать крестик на верхней панели
  • меню «Пуск» → Выключение → Отключиться

Для запуска в оконном режиме не используйте опцию /f:

xfreerdp /u:Tester /p:1234 /v:192.168.0.101

Опции xfreerdp

У программы xfreerdp множество опций, далее выбраны самые интересные из них:

/v:<СЕРВЕР>[:ПОРТ] Имя хоста сервера с RDP /u:… Имя пользователя /p:<ПАРОЛЬ> Пароль /f Полноэкранный режим (<Ctrl>+<Alt>+<Enter> переключает полноэкранный режим) /port:<number> Порт сервера /size:… Размер экрана /w:<width> Ширина /h:<height> Высота /monitor-list Вывести список обнаруженных мониторов /monitors:<id>[,[,…]] Выбрать мониторы для использования -grab-keyboard Отключить захват клавиатуры -mouse-motion Отключить отправку движений мыши /log-level:… Установить уровень журналирования по умолчанию, подробности смотрите в wLog(7) +home-drive Сделать домашнюю папку пользователя совместной с удалённым столом /drive:<ИМЯ>,<ПУТЬ> Подключить директорию <ПУТЬ> как шару с именем <ИМЯ> +drives Включить перенаправление всех точек монтирования как совместных папок /ipv6 Предпочитать IPv6 AAAA запись, а не IPv4 A запись /t:<ЗАГОЛОВОК> Заголовок окна /kbd:0x<id> или <ИМЯ> Раскладка клавиатуры /kbd-fn-key:<ЗНАЧЕНИЕ> Значение функциональной клавиши /kbd-list Вывести список раскладок клавиатуры /kbd-subtype:<id> Подтип клавиатуры /kbd-type:<id> Тип клавиатуры

Как в freerdp создать общие папки

С удалённым рабочим столом, подключённым по RDP, можно иметь совместные папки. Рассмотрим несколько примеров.

Чтобы подключить все точки монтирования в текущей системе как совместные папки на удалённом рабочем столе используйте опцию +drives, например:

xfreerdp /u:Tester /p:1234 /v:192.168.0.101 +drives

На скриншоте показан удалённый стол Windows, в котором доступны папки Linux системы, из которой сделано подключение по RDP:

Чтобы подключить только домашнюю папку текущего пользователя Linux в качестве сетевой папки к компьютеру по RDP укажите опцию +home-drive:

xfreerdp /u:Tester /p:1234 /v:192.168.0.101 +home-drive

В этом случае домашняя папка смонтирована в систему, подключённую по протоколу удалённый рабочий стол:

С опцией /drive:ИМЯ,/ПУТЬ/В/LINUX можно подключить любую папку с любым именем. В качестве /ПУТЬ/В/LINUX должен быть указан путь в текущей системе, а ИМЯ это то имя, которое будет иметь шара в удалённой системе. Например, чтобы подключить корневую папку текущей системы (/) к удалённой с именем root:

xfreerdp /u:Tester /p:1234 /v:192.168.0.101 /drive:root,/

Как вывести удалённый рабочий стол на другой монитор

Если у вас несколько мониторов, то вы можете выбрать, какой из них использовать для удалённой системы. Чтобы вывести список мониторов запустите команду:

xfreerdp monitor-list

Выбранный идентификатор монитора (или нескольких мониторов) укажите с помощью опции /monitors:<id>[,[,…]].

Как установить размер окна удалённого рабочего стола

В следующем примере выполняется подключение к хосту rdp.contoso.com с именем USER и размером 50 процентов от высоты.

xfreerdp /u:USER /size:50%h /v:rdp.contoso.com

Если вместо высоты (h) установлена ширина (w), примерно как /size:50%w, то будет использоваться 50 процентов ширины.

Установка GUI

Итак, перейдем к установке GUI. Сначала нужно поставить графическую подсистему:

Для Debian/Ubuntu:

$ apt-get update$ apt-get install —no-install-recommends xserver-xorg xserver-xorg-core xfonts-base xinit libgl1-mesa-dri x11-xserver-utils

Для CentOS:

$ yum groupinstall «X Window System» «Fonts»

Далее следует установка Desktop Environment (DE). Их существует великое множество. Мы рекомендуем ставить на сервер более легковесные среды, а еще лучше, не ставить вовсе. Первые две DE достаточно компактные, функциональные и «привычные».

1. Xfce

Для Debian/Ubuntu:

$ apt-get update

Полная установка:

$ apt-get install task-xfce-desktop

Стандартная:

$ apt-get install xfce4 xfce4-terminal

Можно поставить дополнительно:

$ apt-get install xfce4-goodies

Для CentOS:

$ yum install epel-release$ yum groupinstall «Xfce»$ echo «PREFERRED=startxfce4» >> /etc/sysconfig/desktop
2. LXDE

Для Debian/Ubuntu:

$ apt-get update

Полная:

$ apt-get install lxde

Минимальная:

$ apt-get install lxde-core

Для CentOS:

Нет в официальных репозиториях

Добавление русской раскладки:

$ setxkbmap -option grp:switch,grp:ctrl_shirt_toggle us,ru

Сочетание клавиш можно менять на свое усмотрение, например:

$ setxkbmap -option grp:switch,grp:alt_shift_toggle us,ru

Чтобы эта команда запускалась каждый раз при запуске LXDE, нужно добавить в конец файла с помощью вашего любимого vi строку: @setxkbmap -option grp:switch,grp:ctrl_shift_toggle,grp_led:scroll us,ru. Или вот так…

$ echo «@setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru» >> /etc/xdg/lxsession/LXDE/autostart

Следующие две DE являются чрезвычайно легкими. Если уж GUI нужен на сервере, вероятно, стоит использовать именно их.

3. FluxBox

Для Debian/Ubuntu:

$ apt-get update$ apt-get install fluxbox xterm

Для CentOS:

$ yum install fluxbox xterm$ echo «PREFERRED=startfluxbox» >> /etc/sysconfig/desktop

4. Openbox

Для Debian/Ubuntu:

$ apt-get update$ apt-get install openbox xterm

Для CentOS:

$ yum install epel-release$ yum install openbox xterm$ echo «PREFERRED=openbox-session» >> /etc/sysconfig/desktop

Далее следуют наиболее популярные на десктопах графические оболочки.

5. Gnome

Для Ubuntu/Debian:

$ apt-get update

Минимальная установка:

$ apt-get install —no-install-recommends lightdm gnome-panel gnome-terminal

Полная установка:

$ apt-get install gnome gnome-shell

Замечание: с настройкой VNC-сервера под Gnome что-то пошло не так… Сервера из репозиториев tightvncserver и vnc4server так и не согласились сотрудничать, поэтому пришлось собрать пару deb-пакетов руками. Если у Вас не получится настроить сервер, то мы можем порекомендовать скачать собранный нами архив с tigervnc-server’ом и поставить его. Для этого:

$ curl -LOk https://ruvds.com/downloads/tightvnc-packages.tar
Или

$ wget https://ruvds.com/downloads/tightvnc-packages.tar$ tar -xvf tightvnc-packages.tar$ cd ./tightvnc-packages$ dpkg -i *.deb || (apt -f install -y ; dpkg -i *.deb)

Для CentOS:

$ yum groupinstall «GNOME»$ echo «PREFERRED=gnome-session» >> /etc/sysconfig/desktop
6. KDE

Для Debian:

$ apt-get update

Полная:

$ apt-get install kde-full

Стандартная:

$ apt-get install kde-standart

Минимальная установка:

$ apt-get install kde-plasma-desktop

Для CentOS:

$ yum groupinstall «KDE»$ echo «PREFERRED=startkde» >> /etc/sysconfig/desktop
7. Cinnamon

Для Debian/Ubuntu:

$ apt-get update$ apt-get install —no-install-recommends cinnamon-core lightdm

Для CentOS:

$ yum install cinnamon
8. MATE

Для Debian/Ubuntu:

$ apt-get update

Полная:

$ apt-get install mate-desktop-environment-extras

Стандартная:

$ apt-get install mate-desktop-environment

Минимальная:

$ apt-get install mate-desktop-environment-core

Для CentOS:

$ yum groupinstall «MATE Desktop»

Если Вы хотите получать доступ к GUI через «Аварийный режим», то необходимо сделать следующее:

$ systemctl set-default graphical.target

Мало того, необходимо обеспечить запуск графической оболочки при старте системы. Для этого можно установить какой-нибудь экранный менеджер (Display Manager, DM), например:

$ apt-get install lightdm

Или в случае с CentOS:

$ yum install lightdm

Если необходимости в доступе из личного кабинета нет, то следует выполнить:

$ systemctl set-default multi-user.target

Заметка: Ubuntu предлагает своим пользователям несколько метапакетов для более удобной установки нужной DE:

Unitu:

$ apt-get install ubuntu-desktop

LXDE:

$ apt-get install lubuntu-desktop

XFCE:

$ apt-get install xubuntu-desktop

KDE:

$ apt-get install kubuntu-desktop

Далее, есть много способов получить удаленный доступ к GUI.

10 вещей, которые необходимо сделать после установки Ubuntu 19.10

декабрь 26, 2019 6 мин чтения

Ubuntu опубликовали план поддержки для Raspberry Pi 4

Назад

Скачать PuTTY: Русская версия

Рады вам представить программу PuTTY на русском языке. Наша сборка основана на последнем релизе PuTTY, а также включает в себя улучшения и модификации из различных форков и патчсетов, таких как PuTTYTray и KiTTY.

Вот лишь небольшой список нововведений:

Скачать PuTTY

Русская версия: PuTTY 0.66-RU-16, от 9 декабря 2015

Размер файла: 9 800 225 байт

MD5 Сумма: 6f97e927e0a9fe8173cfbd4628ba2562

Русская версия PuTTY распространяется в виде ZIP-архива, инсталляции не требует. В дистрибутив входят файлы PuTTY и PuTTY Portable, а также исходные коды и документация. Программа распространяется под Open Source лицензией MIT.

Внимание! Русская версия PuTTY 0.66 считается устаревшей, и может содержать критические ошибки.
На данный момент рекомендуется использовать оригинальную версию программы — PuTTY 0.70.

Время быть реальным

Чтобы установить RealVNC, перейдите на его страницу (www. realvnc.com) и скачайте пакет VNC connect для компьютера, который хотите контролировать. Продолжайте установку так же, как для обычных пакетов для вашего дистрибутива.

$sudo dpkgiVNCServer6.2.0Linuxx64.deb

Когда программа будет установлена, она запустится и появится на вашем рабочем столе в строке уведомлений или ее эквиваленте для вашего рабочего стола. Далее откройте графический интерфейс и подключитесь к своей учетной записи RealVNC, которую вы, вероятно, уже создали. Как только вы войдете, компьютер появится в вашей учетной записи RealVNC. С этого момента вы можете получать к нему доступ с любого компьютера, где установлена программа просмотра.

На вашем локальном компьютере вы должны следовать обычной процедуре установки пакета VNC-viewer и запуска программы. При первом запуске вам предложат войти в вашу учетку; и зарегистрированные вами компьютеры появятся в вашем списке учетных записей. Программа RealVNC весьма изящна, и вы быстро освоитесь; но если вам надо подключить более пяти компьютеров, придется раскошелиться.

Как запустить RDP сервер с xrdp

Для установки xrdp в Debian, Kali Linux, Linux Mint, Ubuntu и производные выполните команду:

sudo apt install xrdp

Для установки xrdp в Arch Linux и производные выполните команды:

sudo pacman -S alsa-lib mesagit clone https://aur.archlinux.org/xrdp.gitcd xrdpmakepkg -si

Для запуска служб xrdp-sesman и xrdp в любом дистрибутиве выполните команду:

sudo systemctl start xrdp-sesman.service

Важные файлы xrdp:

  • /etc/xrdp/xrdp.ini — файл настроек
  • /var/log/xrdp.log — файл журналов событий

Подключаемся из Windows к xrdp. Вводим имя пользователя и пароль пользователя Linux:

Теперь мы можем выполнять команды на компьютере с Linux так, будто бы мы сидим за ним:

Apache GuacamoleApache Guacamole logo

Apache Guacamole — это уникальное ПО в нашем списке. Причина в том что, в отличие от других, работает как веб-приложение для просмотра всех удаленных рабочих столов, которые вы хотите. Вот почему разработчики ПО называют его «удаленным рабочим столом без клиента». Потому что, ему не нужен клиент (хотя он и есть), но работает из веб-браузера. Все, что нужно сделать, это установить серверную версию на свой хост, чтобы получить к ней доступ из Интернета.

Кроме того, в отличие от других решений в этом списке, Apache Guacamole предоставляет полный API на многих языках программирования для доступа и расширения своей основной кодовой базы. Огромный перечень документов доступен бесплатно на официальных сайтах. Apache Guacamole предоставляют коммерческую стороннюю поддержку предприятиям, желающим использовать программное обеспечение.

Официальный сайт Apache Guacamole

Ссылки

© 2006, 2007 Иван Шмаков.

Текст данной страницы доступен под условиями лицензии GNU FDL. Страницы, доступные по ссылкам, могут иметь другие условия распространения.

Ivan Shmakov

FILED UNDER : IT

admin
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: