apache guacamole что это
Apache Guacamoleв„ў
Apache Guacamole is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH.
We call it clientless because no plugins or client software are required.
Thanks to HTML5, once Guacamole is installed on a server, all you need to access your desktops is a web browser.
Access your computers from anywhere
Because the Guacamole client is an HTML5 web application, use of your computers is not tied to any one device or location. As long as you have access to a web browser, you have access to your machines.
Keep your desktop in the cloud
Desktops accessed through Guacamole need not physically exist. With both Guacamole and a desktop operating system hosted in the cloud, you can combine the convenience of Guacamole with the resilience and flexibility of cloud computing.
Free and open source
Apache Guacamole is and will always be free and open source software. It is licensed under the Apache License, Version 2.0, and is actively maintained by a community of developers that use Guacamole to access their own development environments.
We feel this sets us apart from other remote desktop solutions, and gives us a distinct advantage.
Built on a well-documented API
Apache Guacamole is built on its own stack of core APIs which are thoroughly documented, including basic tutorials and conceptual overviews in the online manual. These APIs allow Guacamole to be tightly integrated into other applications, whether they be open source or proprietary.
Commercially supported
For enterprises, dedicated commercial support is also available through third party companies.
Copyright © 2020 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. The HTML5 shield logo has been modified from the original work of the World Wide Web Constortium (W3C), which is licensed under the Creative Commons Attribution 3.0 license.
Apache Guacamole, Guacamole, Apache, the Apache feather logo, and the Apache Guacamole project logo are trademarks of The Apache Software Foundation.
Apache Guacamoleв„ў
Apache Guacamole is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH.
We call it clientless because no plugins or client software are required.
Thanks to HTML5, once Guacamole is installed on a server, all you need to access your desktops is a web browser.
Access your computers from anywhere
Because the Guacamole client is an HTML5 web application, use of your computers is not tied to any one device or location. As long as you have access to a web browser, you have access to your machines.
Keep your desktop in the cloud
Desktops accessed through Guacamole need not physically exist. With both Guacamole and a desktop operating system hosted in the cloud, you can combine the convenience of Guacamole with the resilience and flexibility of cloud computing.
Free and open source
Apache Guacamole is and will always be free and open source software. It is licensed under the Apache License, Version 2.0, and is actively maintained by a community of developers that use Guacamole to access their own development environments.
We feel this sets us apart from other remote desktop solutions, and gives us a distinct advantage.
Built on a well-documented API
Apache Guacamole is built on its own stack of core APIs which are thoroughly documented, including basic tutorials and conceptual overviews in the online manual. These APIs allow Guacamole to be tightly integrated into other applications, whether they be open source or proprietary.
Commercially supported
For enterprises, dedicated commercial support is also available through third party companies.
Copyright © 2020 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. The HTML5 shield logo has been modified from the original work of the World Wide Web Constortium (W3C), which is licensed under the Creative Commons Attribution 3.0 license.
Apache Guacamole, Guacamole, Apache, the Apache feather logo, and the Apache Guacamole project logo are trademarks of The Apache Software Foundation.
Как я искал нормальный RDP-клиент и нашел целых три
Remote Desktop Protocol — один из самых распространенных протоколов для удаленного управления, потому что он используется для работы с операционными системами Windows, которые часто незаменимы в корпоративной среде. Естественно, самый распространенный способ подключения к удаленной системе — использование средств встроенных в саму систему, но он не единственный и, более того, совершенно неприменимый, если используется другая ОС или сильно устаревшая Windows.
В этой статье я расскажу о нескольких альтернативных решениях, отличных от встроенных в дистрибутивы операционных систем: программу MobaXterm и два сервиса не требующих от пользователя установки приложений и работающих в обычном браузере.
MobaXterm
Эта программа для Windows. Немного неправильно называть MobaXterm RDP-клиентом, потому что это целый комбайн. Список поддерживаемых протоколов впечатляет: SSH, Telnet, Rlogin, RDP, VNC, XDMCP, FTP, SFTP и Serial.
Почему я рекомендую этот клиент? Меня уже давно не радует Putty. Громоздкий и запутанный интерфейс из времен W95, не вызывающий ностальгию, если приходится часто с ним работать, плохая поддержка экранов высокого разрешения, собственный формат ключей, отсутствие поддержки вкладок и прочее. MobaXterm лишен всех этих недостатков, это удобная и современная программа. Портативная версия состоит из одного единственного exe’шника и файла настроек, интерфейс интуитивный, а если нужна помощь, то, в отличии от Putty, в самой программе есть исчерпывающая документация.
Кроме соединения через перечисленные протоколы можно локально поднимать некоторые сервисы для удаленного доступа, такие как: FTP, SSH/SFTP, HTTP и другие. Если вы не любите консольные nano и vi, то в программе есть текстовый редактор с удобным графическим интерфейсом. В терминале есть настраиваемая подсветка синтаксиса и автодополнение.
Сразу после запуска программа нашла ранее используемые мной подключения, импортировала настройки из Putty и обнаружила установленную в системе WSL-Ubuntu:
Нет смысла перечислять все возможности приложения, они очень многочисленны, есть даже инструменты для тестирования сетей. Приложение платное, но портативной бесплатной версии хватит за глаза для подавляющего количества задач системного администратора.
Apache Guacamole
Современные тенденции DevOps предполагают перенос окружения для разработки с локальной машины на сервер компании или к облачному провайдеру. Один из простых примеров ранее описывался в статье: Установка Visual Studio Code в облаке, приложения для удаленного подключения этого тоже не избежали.
Apache Guacamole, это клиентский шлюз для удаленного подключения, работающий на HTML5, позволяет пользоваться протоколами: VNC, Telnet, RDP, Kubernetes и SSH / SFTP — через web-интерфейс. Не требуется установки никаких программ, подписок на сторонние сервисы, все работает прямо в браузере, независимо от того, какой операционной системой пользуется разработчик. Все что требуется: установить и настроить службы на сервере. По сути, это web-интерфейс для FreeRDP — бесплатной реализации протокола RDP, с открытым исходным кодом.
Сценарий работы с этим сервисом типичен для последних тенденций удаленной работы и оптимизации рабочего места. Разработчики подключаются к своему окружению из любой точки земного шара. Им не требуется держать дома мощный десктоп или носить с собой высокопроизводительный ноутбук, забота об этом перекладывается на серверы компании, а работнику достаточно подключения к интернету и любого ноутбука, на котором не будет лагать браузер.
Настройка сервиса подробнейшим образом документирована, мануал впечатляет своими размерами. Установка возможна несколькими способами: из репозиториев, компиляция исходников и разворачивание образа Docker. К счастью, как это часто бывает, один прошаренный DevOps-инженер решил автоматизировать процесс установки с наиболее типичными настройками и выложил готовый скрипт на github: guac-install. Из его кода легко понять, что он пошел по пути установки образа Docker, и все действия сводятся к вводу всего нескольких команд.
Начнем с того, что настроим виртуальный сервер для установки AG. Его характеристики будут зависеть от количества пользователей, но разработчики рекомендуют не меньше 2 гигабайт оперативной памяти. Размещение сервера выберем в Москве, для минимального пинга, что критично для работы с удаленными компьютерами.
В качестве тестовой машины я выбрал такие параметры VPS:
После того, как будет создана виртуальная машина, подключимся к ней (используя MobaXterm, конечно же). Теперь можно приступать к работе.
Сначала надо скачать скрипт установки:
Выдать ему разрешение на исполнение:
В процессе работы будут установлены нужные образы и задано несколько вопросов о настройке паролей для MySQL. В конце скрипт выдаст сообщение о том, что установка завершена, напишет адрес для подключения к сервису и сообщит пароль/логин, который настоятельно порекомендует потом поменять:
Все готово, надо только заменить localhost на внешний айпи-адрес нашего сервера и ввести пару логин/пароль в форму логина на сайте:
После авторизации открывается доступ к довольно аскетичной панели администрирования, где можно заниматься управлением привилегий пользователей и доступными им подключениями к различным системам.
При первом логине система запросит настройку двухфакторной авторизации, на экране появится QR-код, который надо будет отсканировать с помощью любого удобного приложения. Я воспользовался для этого Google Authenticator на смартфоне. После сканирования приложение сгенерирует шестизначный код, который потребуется ввести в поле на сайте.
В качестве примера подключимся к серверу под управлением Windows по протоколу RDP. Для этого надо зайти в “Настройки” и выбрать опцию “Подключения”. Интерфейс переведен на несколько языков, и сложностей при работе с ним ни у кого не возникнет.
Дальше надо заполнить следующие поля (я перечислю минимально необходимые):
В разделе “РЕДАКТИРОВАНИЕ ПОДКЛЮЧЕНИЯ” заполнить поле “Название” и в поле “Протокол” выбрать “RDP”.
В разделе “СОВМЕСТНОЕ ИСПОЛЬЗОВАНИЕ” поставить требуемые числа в поля “Максимальное число соединений” и “Максимальное число соединений на пользователя”. Любое необходимое, но не меньше 1.
В разделе “НАСТРОЙКИ” и подразделе “Сеть” ввести айпи-адрес удаленного сервера под управлением Windows и “Порт”: 3389.
Далее заполнить поля “Имя пользователя” и “Пароль”. В моем случае еще потребовалось отметить опцию “Игнорировать сертификат сервера”.
Остальное настройки заполняются по необходимости, в зависимости от специфики серверов, к которым требуется подключаться.
В итоге выглядит это примерно так:
В самом низу страницы нажимаем кнопку “СОХРАНИТЬ” и можно подключаться с главной страницы панели управления:
Все работает, мы видим рабочий стол нашего виртуального сервера:
Myrtille
На основе FreeRDP разрабатывается еще один проект: Myrtille, аналогичный Apache Guacamole, но работающий на системе Windows. Его установка — традиционный Windows-way, надо всего лишь скачать файл инсталлятора с GitHub и запустить его. Приложение поддерживает двухфакторную авторизацию и позволяет настроить ее в процессе установки:
В следующем диалоговом окне можно настроить работу с Active Directory:
А затем порты для подключения:
Далее следует диалог с выбором опций для установки сертификата, драйвера для PDF-принтера и разрешения множественных подключений:
Потом выбирается директория, куда будет устанавливаться программа и запускается процесс установки. На этом все, сервисом можно пользоваться, перейдя по ссылке: https://ip-address/Myrtille/, где вместо ip-address надо подставить адрес сервера и web-клиент готов к подключению:
Надо заметить, что он не позволяет управлять группами пользователей и подключениями как AG и довольно аскетичен в настройках. Меню сервиса хоть и не блещет красотой, но вполне функционально:
Вот таким образом, можно отказаться от еще одного локального инструмента для работы и пользоваться обычным браузером, который есть на любом компьютере.
RDP клиенты удаленного доступа для Linux
RDP (Remote Desktop Protocol) — протокол доступа к удаленному рабочему столу, созданный Microsoft. Он поддерживается почти любой современной ОС. В этой статье предлагаем взглянуть на несколько популярных клиентов удаленного доступа для Linux.
Проприетарный RDP — не единственный протокол удаленного доступа. Есть, например, открытый протокол VNC или защищенный протокол SSH. Все протоколы поддерживаются большинством операционных систем, включая различные дистрибутивы Linux, а иногда и мобильные ОС.
Для чего нужны RDP клиенты?
Клиенты доступа к удаленному рабочему столу имеют гораздо более широкие возможности, чем просмотр сессии удаленной машины с локальной. Через RDP клиент осуществляется доступ к удаленному рабочему столу с полноценной поддержкой клавиатуры, мыши, а также с поддержкой аудио и возможностью передачи файлов. В некоторых случаях RDP клиент может быть уже установлен в системе, например, на Ubuntu Desktop обычно предустанавливается клиент Remmina.
Популярные Linux RDP клиенты
Remmina
Remmina идет под лицензией GNU GPL и имеет открытый исходный код.
Установка Remmina
Remmina устанавливается через терминал:
В дистрибутивах Ubuntu, как правило, уже имеется клиент Remmina, однако, версия обычно устаревшая поэтому рекомендуется ее обновить.
Обновление Remmina
В терминале нужно ввести команду:
Затем запросите обновление списка системных хранилищ:
Следующий шаг — установка или обновление плагина протокола RDP:
Чтобы завершить установку Remmina Linux RDP client, закройте активные сеансы приложения из терминала: sudo killall remmina. Затем откройте обновленный клиент заново и перейдите к конфигурации соединения.
Настройка Remmina
Если нужны настройки Remmina Remote Desktop Client, откройте меню Preferences (параметры) нажатием на иконку в правой верхней части окна.
Подключение по RDP к удаленной машине
Давайте рассмотрим как работает подключение по RDP к удаленной машине на примере Remmina.
Нажмите кнопку Add a new connection profile (Добавить новый профиль соединения), чтобы создать новое соединение.
Поддерживаются соединения с Linux, Windows или macOS. Главное, что вам нужно знать — это IP-адрес машины, с которой устанавливается подключение, имя пользователя и пароль.
После конфигурации нового подключения, можно просто нажать Connect для подключения, а можно сохранить подключение и установить его в качестве подключения по умолчанию. Сохранив текущую конфигурацию, вы сможете соединиться с удаленным компьютером буквально в два клика.
Также есть возможность управлять соединениями, копируя, редактируя и удаляя их прямо из основного окна.
Помимо RDP, клиент Remmina также обладает поддержкой других протоколов удаленного соединения, включая безопасный SSH и открытый VNC.
Apache Guacamole
Еще один интересный RDP клиент для Linux — Apache Guacamole. Этот RDP клиент с открытым исходным кодом, распространяется по лицензии Apache v. 2.0. У Apache Guacamole есть интересная особенность — разработчики называют его «шлюз для удаленного рабочего стола без клиента» (clientless remote desktop gateway). Все благодаря тому, что Apache Guacamole работает напрямую из браузера, необходимости устанавливать дополнительное ПО или плагины нет.
Установка Apache Guacamole
Apache Guacamole может быть предустановлен в некоторых Linux Debian и Debian-based дистрибутивах. Ручная установка Apache Guacamole из терминала производится командой:
Поскольку Apache Guacamole — серверный клиент, требуется установить Tomcat Server на вашу машину, после чего программа установки попросит его перезапустить.
По умолчанию Apache Guacamole устанавливается с поддержкой только протокола VNC. Чтобы иметь возможность подключаться по SSH или RDP, необходимо установить дополнительно клиент для желаемого протокола. Сделать это можно следующей командой:
В более новые версии дистрибутивов Linux клиенты, необходимые для подключения по протоколу RDP, могут быть уже включены.
Настройка Apache Guacamole
После установки Apache Guacamole автоматически применяет минимально необходимые для запуска настройки. Основным файлом конфигурации Apache Guacamole является guacamole.properties.
Все подробности об установке, настройке и управлении Apache Guacamole детально описаны в руководстве на официальном сайте.
Клиент Apache Guacamole максимально прост в использовании. Для запуска шлюза доступа к удаленному рабочему столу без клиента требуется иметь только браузер с поддержкой HTML5. Сама работа показана в коротком видео.
FreeRDP
Еще один бесплатный RDP клиент для Linux — FreeRDP. FreeRDP имеет лицензию Apache и открытый исходный код. Его можно встретить включенным в некоторые дистрибутивы Linux.
Установка FreeRDP
Актуальную на момент написания статьи версию FreeRDP можно установить командой из терминала:
Настройка FreeRDP
FreeRDP — терминальный клиент, поэтому все настройки для подключения вводятся одной командой:
Полный синтаксис можно найти в интернете.
Чтобы не вводить команду заново каждый раз, вы можете создать ярлык подключения со всеми необходимыми параметрами. Для этого, после установки FreeRDP, откройте окно терминала, запустите редактор nano: sudo nano
/rdp.sh. В появившемся окне введите следующие строки и сохраните файл:
Первая строка — это директория для ярлыка, а вторая строка — команда запуска FreeRDP со всеми требуемыми параметрами. FreeRDP также можно использовать совместно с клиентом Remmina в качестве графического интерфейса.
TigerVNC
TigerVNC — это полностью бесплатный клиент, он имеет открытый исходный код. Он отличается от предыдущих клиентов удаленного доступа тем, что он работает только по протоколу VNC.
Установка TigerVNC
Для работы TigerVNC требуется окружение рабочего стола. Мы выбрали окружение Gnome, установили его следующими командами:
Затем, чтобы установить компоненты TigerVNC, введите в окне терминала:
Если установка прошла успешно, запустите VNC-сервер: vncserver. Создастся дефолтная конфигурация, а от вас потребуется задать пароль для TigerVNC длиной от 6 до 8 символов.
Настройка TigerVNC
Затем введите команду vi
/.vnc/xstartup, чтобы добавить файл xstartup в каталог конфигурации рабочего стола, откроется редактор.
В редакторе пропишите пять строк:
Эти строки будут выполняться при каждом запуске TigerVNC сервера. Сохраните файл, задайте ему разрешения:
Возобновите работу сервера, введя в терминале:
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
Подключение к удаленному рабочему столу производится из терминала командой:
Команда использует следующий синтаксис:
Это только некоторые из доступных команд, полный список легко находится в интернете.
Если вы в поиске простого и надежного клиента, который поддерживал бы также функции RDP4, то rdesktop будет оптимальным выбором.
Vinagre
Vinagre входит в стандартное окружение Gnome и по сути является официальным RDP клиентом Gnome. Это значит, что клиент Vinagre уже должен быть включен в ваш дистрибутив Linux с окружением Gnome, и его установка не потребуется.
Установка Vinagre
Если по какой-то причине клиент Vinagre отсутствует у вас в системе, вы можете его инсталлировать, введя в консоли:
Преимущества Vinagre это:
Если вы работаете с 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. Каждый из названых программных продуктов обладает своими уникальными отличиями, что делает выбор интересным. Сам выбор остается за вами.


















