Guacamole – это панель управления удаленным рабочим столом с открытым исходным кодом, используемая для управления системами Linux и Windows из веб-браузера. Он поддерживает стандартные протоколы, такие как VNC, RDP, SSH и Kubernetes, и на клиентском компьютере вам не нужно какое-либо дополнительное программное обеспечение . Guacamole поддерживает буфер обмена, передачу файлов через SFTP и позволяет управлять несколькими сеансами удаленного рабочего стола.

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

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

sudo apt-get update -y

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

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

sudo apt-get install make gcc g++ libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev libssl-dev libvorbis-dev libwebp-dev -y

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

sudo apt-get install tomcat9 tomcat9-admin tomcat9-common tomcat9-user -y

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

systemctl start tomcat9
systemctl enable tomcat9

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

systemctl status tomcat9

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

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

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

wget https://downloads.apache.org/guacamole/1.3.0/source/guacamole-server-1.3.0.tar.gz

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

tar -xvzf guacamole-server-1.3.0.tar.gz

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

cd guacamole-server-1.3.0
./configure --with-init-dir=/etc/init.d

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

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

make
make install

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

ldconfig

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

systemctl enable guacd
systemctl start guacd

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

systemctl status guacd

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

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

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

wget https://mirrors.estointernet.in/apache/guacamole/1.3.0/binary/guacamole-1.3.0.war

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

mkdir /etc/guacamole
mv guacamole-1.3.0.war /etc/guacamole/guacamole.war

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

ln -s /etc/guacamole/guacamole.war /var/lib/tomcat9/webapps/

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

systemctl restart tomcat9
systemctl restart guacd

Настройка Guacomole

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

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

nano /etc/guacamole/guacamole.properties

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

guacd-hostname: localhost
guacd-port:    4822
user-mapping:    /etc/guacamole/user-mapping.xml

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

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

mkdir /etc/guacamole/{extensions,lib}

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

echo "GUACAMOLE_HOME=/etc/guacamole" >> /etc/default/tomcat9

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

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

echo -n YourSecurePassw0rd | openssl md5

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

(stdin) = 7e6a8b547cef30b2b24ac84965f7afdc

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

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

nano /etc/guacamole/user-mapping.xml
<user-mapping>
    <authorize 
            username="admin"
            password="7e6a8b547cef30b2b24ac84965f7afdc"
            encoding="md5">

        <connection name="Ubuntu20.04-Server">
            <protocol>ssh</protocol>
            <param name="hostname">192.168.20.5</param>
            <param name="port">22</param>
            <param name="username">root</param>
        </connection>
        <connection name="Windows Server">
            <protocol>rdp</protocol>
            <param name="hostname">192.168.20.6</param>
            <param name="port">3389</param>
            <param name="ignore-cert">true</param>
            <param name="color-depth">24</param>
            <param name="width">1920</param>
            <param name="height">1080</param>
        </connection>
    </authorize>
</user-mapping>

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

Где:

  • 192.168.20.5 – это IP-адрес удаленного сервера Ubuntu.
  • 192.168.20.6 – это IP-адрес удаляемого сервера Windows.

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

systemctl restart tomcat9
systemctl restart guacd

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

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

Теперь откройте свой веб-браузер и войдите в веб-интерфейс Guacamole, используя URL-адрес http://your-server-ip:8080/guacamole . Вы будете перенаправлены на страницу входа в Guacamole:

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

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

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

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

apt-get install nginx -y

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

nano /etc/nginx/sites-available/guacamole.conf

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

server {
        listen 80;
        server_name your-server-ip;
        access_log  /var/log/nginx/guac_access.log;
        error_log  /var/log/nginx/guac_error.log;

        location / {
                    proxy_pass http://your-server-ip:8080/guacamole/;
                    proxy_buffering off;
                    proxy_http_version 1.1;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_set_header Upgrade $http_upgrade;
                    proxy_set_header Connection $http_connection;
                    proxy_cookie_path /guacamole/ /;
        }

}

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

ln -s /etc/nginx/sites-available/guacamole.conf /etc/nginx/sites-enabled/

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

systemctl restart nginx

Теперь вы можете получить доступ к своему Guacamole, используя URL-адрес http://your-server-ip .

Как установить веб-клиент удаленного рабочего стола Guacamole на Ubuntu 20.04 LTS

5 мыслей о “Как установить веб-клиент удаленного рабочего стола Guacamole на Ubuntu 20.04 LTS

  • 28.04.2021 в 21:47
    Постоянная ссылка

    В чём проблема?

    echo “GUACAMOLE_HOME=/etc/guacamole” >> /etc/default/tomcat9
    -bash: /etc/default/tomcat9: Permission denied

    И даже:
    sudo echo “GUACAMOLE_HOME=/etc/guacamole” >> /etc/default/tomcat9
    -bash: /etc/default/tomcat9: Permission denied

    Ответ
  • 11.10.2021 в 14:15
    Постоянная ссылка

    Столкнулся с проблемой:
    не работает утилита guacenc с помощью которой можно записывать, а точнее конвертировать уже записанные сессии rdp\vnc в mp4 и txt. решается так: перед компиляцией надо установить библиотеку libavformat-dev (просто добавить в список).

    Ответ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *