Apache guacamole настройка ubuntu

Обновлено: 05.07.2024

В сегодняшнем выпуске моего блога я наглядно разберу как управлять системами только лишь через браузер задействовав технологию HTML 5. К удаленным системам я буду подключаться через таким всем известные и наиболее продуктивные способы, как: VNC & RDP, SSH

  • RDP
  • VNC
  • Other (SSH, как пример)

Основная система где развернуто ПО для этой заметке:

CPU = 2

RAM = 4 и тогда все работает, если RAM = 1 то никакого подключения к системам не будет только серый экран.

В основе этой заметке выступит приложение Guacamole позволяющее подключаться по протоколам RDP и VNC к удаленному рабочему столу, используя только браузер. Клиентская часть написана на JavaScript, выполнена с использованием технологий HTML5 и не требует для своей работы установки дополнительных плагинов. Серверная часть написана на Си и реализована через специальный прокси guacd. Взаимодействие прокси и web-приложения осуществляется при помощи прослойки на языке Java, которая может быть запущена под управлением контейнера сервлетов Apache Tomcat. Для реализации поддержки VNC используется библиотека libvncclient, а для RDP — FreeRDP

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

$ sudo apt-get update && sudo apt-get upgrade -y

$ apt-cache search guacamole

$ apt-cache show guacamole | grep Version

А на официальном сайте версия данного программного обеспечения есть сборки под мою систему Ubuntu 12.04.5 Server amd 64 в виде deb пакетов (не особо рвусь к установке из исходников)

По приведенной ссылке можно скачать подготовленные пакеты для операционных систем

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

ekzorchik @ srv - mon :

$ sudo dpkg – i *. deb

устраняю неустановленные зависимости :

$ sudo apt-get install -f –y

$ sudo apt-get update --fix-missing

$ sudo apt-get install -f –y

Теперь установка проходит без проблем.

Restart Tomcat server ? Yes

$ sudo netstat -tulpn | grep :8080

tcp6 0 0 . 8080 . * LISTEN 2937/java

Далее предопределю аутентификационные данные для подключения к Web -интерфейсу guacamole , и также здесь можно будет указать настройки подключения, как к удаленному рабочему столу RDP , так и VNC , а также через ssh , telnet :

$ sudo nano /etc/guacamole/user-mapping.xml

<authorize username="ekzorchik" password="712mbddr@">

Сохраняем внесенные изменения .

Теперь чтобы настройки применились нужно перезапустить службу – guacd :

$ sudo service guacd restart

* Restarting Guacamole proxy server guacd guacd[5234]: INFO: Guacamole proxy daemon (guacd) version 0.7.0

guacd[5234]: INFO: Unable to bind socket to host ::1, port 4822: Address family not supported by protocol

guacd[5234]: INFO: Successfully bound socket to host 127.0.0.1, port 4822

guacd[5234]: INFO: Exiting and passing control to PID 5235

guacd[5235]: INFO: Exiting and passing control to PID 5238

$ sudo apt-get install apache2 –y

$ sudo nano /etc/apache2/apache2.conf

$ sudo service apache2 restart

$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/guacamole.conf

$ sudo unlink /etc/apache2/sites-available/default

$ sudo unlink /etc/apache2/sites-enabled/000-default

$ sudo a2ensite guacamole.conf

$ sudo service apache2 reload

$ sudo nano /etc/apache2/sites-available/guacamole.conf

CustomLog $/access.log combined

$ sudo service apache2 restart

Syntax error on line 5 of /etc/apache2/sites-enabled/guacamole.conf:

The Apache error log may have more information.

$ sudo a2enmod proxy

$ sudo service apache2 restart

Окно входа в элемент управления доступом к удаленным системам через браузер

$ sudo tail -f /var/log/tomcat6/catalina.2015-02-18.log

Feb 18, 2015 3:13:59 AM org.slf4j.impl.JCLLoggerAdapter warn

Feb 18, 2015 3:14:47 AM org.slf4j.impl.JCLLoggerAdapter warn

Feb 18, 2015 3:23:07 AM org.slf4j.impl.JCLLoggerAdapter info

INFO: Reading user mapping file: /etc/guacamole/user-mapping.xml

Feb 18, 2015 3:23:07 AM org.slf4j.impl.JCLLoggerAdapter warn

Feb 18, 2015 3:23:11 AM org.slf4j.impl.JCLLoggerAdapter warn

Смотрю еще раз файл настроек:

$ sudo nano /etc/guacamole/user-mapping.xml

и вижу, что да я задал пароль, но вот, он как и другие строки ответственные за подключение к система по RDP & VNC закомментированы (

Поэтому убираю эти символы обрамляющие следующие строки:

<!-- Connection srv - video Это комментарий не удалять -->

После сохраняю полученные изменения и перезапускаю службу:

$ sudo service guacd restart

* Restarting Guacamole proxy server guacd guacd[5315]: INFO: Guacamole proxy daemon (guacd) version 0.7.0

guacd[5315]: INFO: Unable to bind socket to host ::1, port 4822: Address family not supported by protocol

guacd[5315]: INFO: Successfully bound socket to host 127.0.0.1, port 4822

guacd[5315]: INFO: Exiting and passing control to PID 5316

guacd[5316]: INFO: Exiting and passing control to PID 5319

$ netstat -a --inet | grep :4822

tcp 0 0 localhost:4822 *:* LISTEN

На заметку: описание полей настройки подключения смотреть здесь:

$ sudo ls -l /etc/guacamole/user-mapping.xml

$ sudo chown tomcat6:tomcat6 /etc/guacamole/user-mapping.xml

$ sudo chmod 640 /etc/guacamole/user-mapping.xml

Вместо пароль укажем использовать его хеш (чтобы не святить пароль в чистом виде)

$ echo -n 712mbddr@ | md5sum -t

Web-интерфейс по управлению удаленными подключения посредством браузера

В логах записи тому подтверждающие:

$ sudo tail -f /var/log/tomcat6/catalina.2015-02-18.log

Feb 18, 2015 4:39:35 AM org.slf4j.impl.JCLLoggerAdapter info

INFO: Reading user mapping file: /etc/guacamole/user-mapping.xml

Feb 18, 2015 4:39:35 AM org.slf4j.impl.JCLLoggerAdapter info

Feb 18, 2015 4:39:35 AM org.slf4j.impl.JCLLoggerAdapter info

INFO: Login was successful.

Connected, waiting for first update..

А после надпись сменилась на

И в чем проблема. Начинаю разбираться.

Оказывается у меня на системе не доустановлены пакеты осуществляющие удаленное взаимодействие с системами, исправляю это дело:

Guacamole currently supports VNC, RDP, SSH, and telnet. Each protocol corresponds to a separate library that will be built with guacamole-server if you have its corresponding optional dependencies

$ sudo apt-get install libfreerdp-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libpulse-dev libssl-dev libvorbis-dev -y

После перезапускаю сервисы :

$ sudo service apache2 restart

$ sudo service tomcat6 restart

Удаленное подключение по SSH в действии

По логам с 192.168.0.9 – я успешно авторизуюсь:

$ cat /var/log/auth.log | grep aollo | grep 192.168.0.129

Feb 18 13:48:38 srv-stunnel sshd[2713]: Accepted password for aollo from 192.168.0.129 port 55638 ssh2

Feb 18 13:50:22 srv-stunnel sshd[3021]: Accepted password for aollo from 192.168.0.129 port 55640 ssh2

Feb 18 13:50:55 srv-stunnel sshd[3266]: Accepted password for aollo from 192.168.0.129 port 55643 ssh2

Feb 18 13:51:39 srv-stunnel sshd[3516]: Accepted password for aollo from 192.168.0.129 port 55647 ssh2

Но еще обнаружил один косяк – подключиться я подключился, а вот пытаюсь набрать команды и получаю – а ничего не получаю, ничего не реагирует, снова проблемы и снова логи:

$ sudo tail -f /var/log/syslog | grep guacd

Feb 18 05:44:05 srv-mon guacd[21008]: No available audio encoding. Sound disabled.

Feb 18 05:44:05 srv-mon guacd[21008]: Starting client

Feb 18 05:44:23 srv-mon guacd[21008]: Error reading instruction: Read timeout: Timeout while waiting for data on socket

Feb 18 05:44:23 srv-mon guacd[21008]: Client finished normally

А при подключении к Windows через RDP у меня серый экран:

Серый экран при удаленном подключении

Диспетчер задач показывает что подключение к системе прошло успешно

Как так, вообщем опять читаю логи и документацию более внимательнее:

$ sudo nano +95 /etc/tomcat6/server.xml

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

$ sudo nano /etc/apache2/sites-available/guacamole.conf

ProxyPassReverse ajp://192.168.0.129:8009/guacamole max=20 flushpackets=on

$ sudo service apache2 reload

$ sudo service tomcat6 restart

$ sudo apt-get install libcairo2-dev libpng12-dev libossp-uuid-dev –y

Не помогло, может у меня просто старая версия: Guacamole 0.8.1 и из-за этого я испытываю сложности выше, поэтому снова в дело вступают исходники скачиваемой последней версии и проработка всех шагов по установки ее в систему:

Откатываю снапшот и начинаю заново:

$ sudo apt-get update && sudo apt-get upgrade –y

Устанавливаю в систему необходимые пакеты:

$ sudo apt-get install build-essential tomcat7 libpng12-dev libossp-uuid-dev libpulse-dev libcairo2-dev libssl-dev libvncserver-dev libvorbis-dev libssh2-1-dev libpango1.0-dev libfreerdp-dev libfreerdp-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libpulse-dev libssl-dev libvorbis-dev libcairo2-dev libpng12-dev libossp-uuid-dev –y

Скачиваю пакеты guacamole последней версии – 0.9.4:

$ tar xfvz guacamole-server-0.9.4.tar.gz

$ tar xfvz guacamole-client-0.9.4.tar.gz

Собираю Guacamole Server:

/guacamole-server-0.9.4$ ./configure --with-init-dir=/etc/init.d

Устанавливаю приложение guacamole из исходников

/guacamole-server-0.9.4$ sudo make install

$ sudo mkdir /usr/lib/x86_64-linux-gnu/freerdp/

$ sudo ln -s /usr/local/lib/freerdp/*.so /usr/lib/x86_64-linux-gnu/freerdp/

Далее копирую каталог war в каталог Tomcat :

$ sudo cp guacamole-0.9.4.war /var/lib/tomcat7/webapps/guacamole.war

$ sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat7/.guacamole/guacamole.properties

$ sudo nano /etc/guacamole/guacamole.properties

$ sudo nano /etc/guacamole/user-mapping.xml

<authorize username="ekzorchik" password="712mbddr@">

$ sudo chown tomcat7:tomcat7 /etc/guacamole/user-mapping.xml

$ sudo chmod 600 /etc/guacamole/user-mapping.xml

$ sudo service tomcat7 restart

* Stopping Tomcat servlet engine tomcat7 [ OK ]

* Starting Tomcat servlet engine tomcat7 [ OK ]

$ sudo service guacd restart

Stopping guacd: SUCCESS (not running)

Starting guacd: /usr/local/sbin/guacd: error while loading shared libraries: libguac.so.9: cannot open shared object file: No such file or directory

Доустанавливаю необходимую библиотеку :

$ sudo apt-get install libstdc++5

$ sudo service guacd stop

Stopping guacd: SUCCESS

$ sudo service guacd start

Starting guacd: guacd[30836]: INFO: Guacamole proxy daemon (guacd) version 0.9.4 started

Вот теперь все хорошо.

Проверяю зайдя на Web -интерфейс

Проверяю вход на Web-интерфейс управления

Авторизовавшись подключась, все работает

БЛИН, что еще надо сделать

Добавил настройки подключения к Server 2008 R 2 и подключение прошло

При подключении к Server 2008 R2 подключение происходит но не отображается

И правда все больше не куда…

Заметил у меня подключение не происходит видимо из-за недостатка памяти на системе

total used free shared buffers cached

Mem: 993 902 91 0 37 627

-/+ buffers/cache: 237 756

Swap: 1019 0 1019

Вижу что-то прогрузилось

Немного подождав, экран удаленной системы начинает подгружаться. На системе где запущена серверная часть guacamole просто не хватает оперативной памяти

И действительно увеличив количество оперативной памяти для виртуальной машины (где я сперва тестировал разворачивание Guacamole) все заработало сражу, как установка всего комплекса посредством deb пакетов, так из исходников. Вот так вот я методом ограничения ресурсов вывел для себя рекомендуемые требования для работы серверной части (не менее 1 Gb памяти должно быть выделено системе, лучше больше). Для чего вообще вся эта заметка была описана, т. к. я в своей подконтрольной системе использую Zabbix с целью мониторинга контролируемой инфраструктуры, то заведя все ключевые сервисы на мониторинг, позже создав наглядную карту устройств (немного позже я покажу как это сделать, там нет ничего сложного), решил приспособить подключение посредством браузера к системам. А эта заметка полностью смогла реализовать мою задумку. (немного позже я покажу что я имею ввиду под этим в одной из своих заметок). Раз я все показал и наглядно продемонстрировал то буду прощаться, до встречи — с уважением автор блога — ekzorchik.

Рассмотрим как установить и настроить клиент удаленного рабочего стола Guacamole на сервере Ubuntu 20.04.

Первым делом обновим нашу систему

После обновления перезагрузим систему, чтобы изменения вступили в силу.

Затем с помощью следующей команды нужно будет установить некоторые пакеты на сервере, чтобы скомпилировать Guacamole из исходников.

Для предоставления клиентского контента пользователям Guacamole использует Tomcat. Установить его можно с помощью следующей команды:

После установки сервера Tomcat запустите службу Tomcat и включите ее запуск при перезагрузке системы с помощью следующей команды:

Вы также можете проверить статус службы Tomcat с помощью следующей команды:


Установка сервера Guacamole

По умолчанию пакет Guacamole недоступен в репозитории Ubuntu 20.04 по умолчанию. Поэтому вам нужно будет скомпилировать его из исходников.

Сначала загрузите последнюю версию Guacamole с веб-сайта Apache, используя следующую команду:

После завершения загрузки извлеките загруженный файл с помощью следующей команды:

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

Если все в порядке, вы должны увидеть следующий результат:


Теперь скомпилируйте и установите Guacamole Server, выполнив следующую команду:

Затем выполните следующую команду, чтобы обновить системный кеш установленных библиотек:

Теперь можно включить и запустить службу Guacamole, используя следующую команду

Проверить статус службы Guacamole можно с помощью следующей команды:


Установка клиента Guacamole

Затем вам нужно будет установить клиент Guacamole на свой сервер. Клиент Guacamole написан на Java и является кроссплатформенным.

Сначала загрузите двоичный файл Guacamole, используя следующую команду:

Создадим каталог /etc/guacamole и переместим туда скаченный файл.

Затем создайте символическую ссылку клиента guacamole на каталог веб-приложений Tomcat с помощью следующей команды:

Наконец, перезапустите службу Tomcat и Guacamole, чтобы развернуть новое веб-приложение:

Настройка Guacomole

Далее необходимо настроить пользователей и подключения.

Сначала создайте основной файл конфигурации Guacamole с именем guacamole.properties.

Добавьте следующие строки:

Сохраните и закройте файл, когда закончите.

Далее вам нужно будет создать каталоги для библиотеки и расширения. Это можно сделать с помощью следующей команды:

Затем установите переменную среды домашнего каталога Guacamole и добавьте ее в файл конфигурации /etc/default/tomcat9.

Затем вам нужно будет создать файл с именем user-mapping.xml, чтобы определить пользователя, которому разрешен доступ к веб-интерфейсу Guacamole.

Перед его созданием сгенерируйте хеш md5 для пароля с помощью следующей команды:

Вы должны увидеть следующий результат:

Примечание : запомните указанный выше пароль md5. Вам нужно будет определить это в файле user-mapping.xml.

Cоздайте новый файл user-mapping.xml с помощью следующей команды:

Сохраните и закройте файл, когда закончите.

Где:

Затем перезапустите службу Tomcat и Guacamole, чтобы применить изменения:

На этом этапе сервер и клиент Guacamole установлены и настроены.

Доступ к веб-интерфейсу Guacamole


Введите имя пользователя и пароль, которые вы определили в файле user-mapping.xml , и нажмите кнопку «Login» . Вы должны увидеть панель управления Guacamole на следующей странице:


Настроить Nginx для Guacamole

Рекомендуется настроить Nginx в качестве обратного прокси для доступа к Guacamoleчерез порт 80.

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

После установки Nginx создайте новый файл конфигурации виртуального хоста Nginx:

Добавьте следующие строки:

Сохраните и закройте файл, когда закончите. Затем включите виртуальный хост Nginx с помощью следующей команды:


Установите Apache Guacamole на Ubuntu 20.04 LTS Focal Fossa

Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие apt команды в терминале.

Шаг 2. Установка Apache Tomcat.

Apache Tomcat используется для предоставления клиентского контента гуакамоле пользователям, которые подключаются к серверу гуакамоле через веб-браузер. Чтобы установить Tomcat, выполните следующую команду:

После установки Tomcat можно использовать следующие команды для его запуска и включения, чтобы он автоматически запускался при загрузке машины

Шаг 3. Установка Apache Guacamole в Ubuntu 20.04.

Теперь запускаем команды для загрузки Гуакамоле с официального сайта:

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

После этого выполните следующие команды, чтобы начать установку:

После установки Guacamole следующие команды можно использовать для его запуска и включения, чтобы он автоматически запускался при загрузке машин

Шаг 4. Установка клиента Guacamole.

Теперь мы запускаем команды ниже, чтобы загрузить клиент Java:

Затем скопируйте его в каталог: /etc/ guacamole

Затем выполните приведенные ниже команды, чтобы создать символическую ссылку клиента гуакамоле на каталог веб-приложений Tomcat:

Перезапустите службы Tomcat и Guacamole:

Шаг 5. Настройте Apache Guacamole.

После установки демона сервера Guacamole вам необходимо определить, как клиент Guacamole будет подключаться к серверу Guacamole в файле конфигурации: /etc/ guacamole / guacamole . properties

Добавьте эти строки:

Затем выполните следующие команды, чтобы создать два каталога для библиотек и расширени

После этого установите переменную окружения домашнего каталога Guacamole в файле конфигурации: /etc/ default / tomcat9

Вам понадобится хэш пароля для конфигурации сопоставления пользователей. Чтобы сгенерировать пароль, используйте следующие команды:

Должен появиться хэш пароля. Скопируйте хеш-значение для использования в конфигурации ниже:

Затем выполните приведенные ниже команды, чтобы создать новый user - mapping . xml :

Затем скопируйте и вставьте содержимое ниже в файл и сохраните:

Шаг 5. Доступ к Apache Guacamole.

Поздравляю! Вы успешно установили Apache Guacamole . Благодарим за использование этого руководства для установки Apache Guacamole в системе Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный веб-сайт Apache Guacamole .

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.



Поддерживаются соединения с 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. Каждый из названых программных продуктов обладает своими уникальными отличиями, что делает выбор интересным. Сам выбор остается за вами.

    Перед сборкой гуакамоле вам необходимо подготовить среду операционной системы. Если возможно, рекомендуется установить последнюю версию ubuntu (я использовал старую версию (12.04) для сборки и обнаружил некоторые зависимости, которые слишком старые и несовместимые. После перехода на последнюю версию ubuntu16.04 эти проблемы больше не возникали). Здесь предусмотрено два метода установки, вы можете выбрать один в соответствии с вашими потребностями.


    0. Обзор системы


    В качестве прокси гуакамоле подключается к серверу RDP в любом месте (гуакамоле и сервер rdp могут находиться на одном компьютере). Мобильные телефоны и ПК, если у них есть браузер и браузер поддерживает HTML5, вы можете использовать браузер для доступа к прокси-серверу guacamole.

    1. Самый простой способ установки

    Первый - это самый простой процесс установки, состоящий всего из трех шагов.

    Затем настройте веб-контейнер (здесь tomcat7, это могут быть другие версии tomcat или другие веб-контейнеры). Это должно сообщить tomcat, guacamole.war (этот военный пакет и его файл конфигурации - это guacamole-client) и где находится его файл конфигурации.

    Затем он устанавливает файл конфигурации, который сообщает guacamole-client, каковы его настройки. Для гуакамоле-клиента есть два файла конфигурации. guacamole.properties и user-mapping.xml. Первый в основном сообщает guacamole-client, адрес и номер порта guacd (guacamole-server), а также расположение user-mapping.xml. Последний в основном устанавливает имя пользователя и пароль конечного пользователя при входе в систему guacamole, а также IP-адрес и пароль последнего сервера RDP / VNC Server, к которому guacamole хочет получить доступ. В этом простейшем методе установки guacamole.properties был настроен сам по себе, изменять не нужно, нужно изменить только содержимое user-mapping.xml. Давайте посмотрим на содержимое user-mapping.xml.

    В теге <authorize> имя пользователя и пароль - это имя пользователя и пароль, необходимые, когда пользователь входит в систему guacamole в браузере. Пароль здесь - это значение md5 строки «пароль» (вы также можете установить пароль параметра как обычный текст, а затем не кодировать = «md5»). Следующий тег <connection> предназначен для установки IP-адреса, протокола доступа и пароля доступа к RDP-серверу / VNC-серверу. Если последний RDP-сервер / VNC-сервер не требует пароля, вы можете пропустить пункт <param name = "password"> в <connection>. Может быть один или несколько элементов <connection> (в этом примере их два), а гуакамоле поддерживает несколько подключений. Это можно увидеть в демонстрационном видео на главной странице официального сайта.

    На этом самый простой способ установки завершен.

    (При установке я выполнил только простейшую установку под ubuntu12.04. В настоящее время этот простейший метод установки не поддерживает агент rdp. Модуль агента rdp не включен. Затем в ubuntu16.04 Во, простейшую установку не пробовал, не понятно поддерживает ли самая простая установка rdp прокси)

    Самая простая установка здесь поддерживает vnc. Можно настроить VNC-сервер в любом месте <connection>. Просто убедитесь, что VNC-сервер доступен. Я использую vnc4server на этой машине.

    Читайте также: