Как установить веб-клиент удаленного рабочего стола Guacamole на Ubuntu 20.04 LTS
Это руководство существует для этих версий ОС
- Ubuntu 20.04 (Focal Fossa)
- Ubuntu 18.04 (Bionic Beaver)
На этой странице
- Предпосылки
- Начало работы
- Установите необходимые зависимости
- Установить сервер Tomcat
- Установить гуакамоле
- Установить клиент гуакамоле
- Настроить гуакомоле
- Доступ к веб-интерфейсу гуакамоле
- Настройка Nginx для гуакамоле
- Заключение
Guacamole — это бесплатная веб-панель управления удаленным рабочим столом с открытым исходным кодом, используемая для управления системами Linux и Windows из веб-браузера. Он поддерживает стандартные протоколы, такие как VNC, RDP, SSH и Kubernetes, и вам не нужно устанавливать какое-либо программное обеспечение на клиентский компьютер. Он поддерживает буфер обмена, передачу файлов через SFTP и позволяет управлять несколькими сеансами удаленного рабочего стола.
В этом руководстве мы покажем вам, как установить и настроить клиент удаленного рабочего стола Guacamole на сервере Ubuntu 20.04.
Предпосылки
- Сервер под управлением Ubuntu 20.04 с оперативной памятью не менее 2 ГБ.
- Пароль root настраивается на сервере.
Начиная
Во-первых, вам нужно будет обновить вашу систему до последней стабильной версии. Вы можете сделать это, обновив все системные пакеты с помощью следующей команды:
apt-get update -y
Как только ваша система будет обновлена, перезагрузите систему, чтобы применить изменения.
Установите необходимые зависимости
Во-первых, вам нужно будет установить некоторые зависимости на вашем сервере, чтобы скомпилировать гуакамоле из исходного кода. Вы можете установить их все с помощью следующей команды:
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
После установки всех зависимостей можно переходить к следующему шагу.
Установите сервер Tomcat
Гуакамоле использует Tomcat для предоставления содержимого клиента гуакамоле пользователям, которые подключаются к серверу гуакамоле через веб-браузер. Поэтому сервер Tomcat должен быть установлен на вашем сервере. Если он не установлен, вы можете установить его с помощью следующей команды:
apt-get install tomcat9 tomcat9-admin tomcat9-common tomcat9-user -y
После установки сервера Tomcat запустите службу Tomcat и включите ее запуск при перезагрузке системы с помощью следующей команды:
systemctl start tomcat9
systemctl enable tomcat9
Вы также можете проверить состояние службы Tomcat с помощью следующей команды:
systemctl status tomcat9
Вы должны получить следующий результат:
? tomcat9.service - Apache Tomcat 9 Web Application Server Loaded: loaded (/lib/systemd/system/tomcat9.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-08-25 14:48:50 UTC; 29min ago Docs: https://tomcat.apache.org/tomcat-9.0-doc/index.html Process: 27982 ExecStartPre=/usr/libexec/tomcat9/tomcat-update-policy.sh (code=exited, status=0/SUCCESS) Main PID: 27990 (java) Tasks: 38 (limit: 4691) Memory: 241.5M CGroup: /system.slice/tomcat9.service ??27990 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties -Djava.util.l>
Как только вы закончите, вы можете перейти к следующему шагу.
Установить гуакамоле
По умолчанию пакет гуакамоле недоступен в стандартном репозитории Ubuntu 20.04. Поэтому вам нужно будет скомпилировать его из исходного кода.
Сначала загрузите последнюю версию гуакамоле с веб-сайта Apache, используя следующую команду:
wget https://downloads.apache.org/guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz
После завершения загрузки извлеките загруженный файл с помощью следующей команды:
tar -xvzf guacamole-server-1.1.0.tar.gz
Затем измените каталог на извлеченный каталог и запустите скрипт configure, чтобы проверить, отсутствует ли какая-либо требуемая зависимость:
cd guacamole-server-1.1.0
./configure --with-init-dir=/etc/init.d
Если все в порядке, вы должны увидеть следующий вывод:
freerdp2 ............ yes pango ............... yes libavcodec .......... yes libavutil ........... yes libssh2 ............. yes libssl .............. yes libswscale .......... yes libtelnet ........... yes libVNCServer ........ yes libvorbis ........... yes libpulse ............ no libwebsockets ....... no libwebp ............. yes wsock32 ............. no Protocol support: Kubernetes .... no RDP ........... yes SSH ........... yes Telnet ........ yes VNC ........... yes Services / tools: guacd ...... yes guacenc .... yes guaclog .... yes FreeRDP plugins: /usr/lib/x86_64-linux-gnu/freerdp2 Init scripts: /etc/init.d Systemd units: no Type "make" to compile guacamole-server.
Теперь скомпилируйте и установите сервер Guacamole, выполнив следующую команду:
make
make install
Затем выполните следующую команду, чтобы обновить системный кеш установленных библиотек:
ldconfig
Затем включите и запустите службу гуакамоле с помощью следующей команды
systemctl enable guacd
systemctl start guacd
Теперь вы можете проверить статус службы гуакамоле с помощью следующей команды:
systemctl status guacd
Вы должны получить следующий результат:
? guacd.service - LSB: Guacamole proxy daemon Loaded: loaded (/etc/init.d/guacd; generated) Active: active (running) since Tue 2020-08-25 12:02:26 UTC; 4s ago Docs: man:systemd-sysv-generator(8) Process: 27536 ExecStart=/etc/init.d/guacd start (code=exited, status=0/SUCCESS) Tasks: 1 (limit: 4691) Memory: 10.1M CGroup: /system.slice/guacd.service ??27555 /usr/local/sbin/guacd -p /var/run/guacd.pid Aug 25 12:02:26 ubunt4 systemd[1]: Starting LSB: Guacamole proxy daemon... Aug 25 12:02:26 ubunt4 guacd[27551]: Guacamole proxy daemon (guacd) version 1.1.0 started Aug 25 12:02:26 ubunt4 guacd[27536]: Starting guacd: Aug 25 12:02:26 ubunt4 guacd[27551]: Starting guacd: Aug 25 12:02:26 ubunt4 guacd[27551]: uacd[27551]: INFO: Guacamole proxy daemon (guacd) versio Aug 25 12:02:26 ubunt4 systemd[1]: Started LSB: Guacamole proxy daemon. Aug 25 12:02:26 ubunt4 guacd[27555]: Listening on host 127.0.0.1, port 4822 Aug 25 12:02:26 ubunt4 guacd[27536]: uacd[275
Как только вы закончите, вы можете перейти к следующему шагу.
Установить клиент гуакамоле
Далее вам нужно будет установить клиент Guacamole на ваш сервер. Клиент гуакамоле написан на Java и является кроссплатформенным. Это будет окончательное приложение HTML5, которое будет представлено вам.
Сначала загрузите двоичный файл Guacamole с помощью следующей команды:
wget https://mirrors.estointernet.in/apache/guacamole/1.1.0/binary/guacamole-1.1.0.war
После загрузки бинарного файла Guacamole скопируйте его в каталог /etc/guacamole с помощью следующей команды:
mkdir /etc/guacamole
mv guacamole-1.1.0.war /etc/guacamole/guacamole.war
Затем создайте символическую ссылку клиента гуакамоле на каталог веб-приложений Tomcat с помощью следующей команды:
ln -s /etc/guacamole/guacamole.war /var/lib/tomcat9/webapps/
Наконец, перезапустите службу Tomcat и Guacamole, чтобы развернуть новое веб-приложение:
systemctl restart tomcat9
systemctl restart guacd
Как только вы закончите, вы можете перейти к следующему шагу.
Настроить гуакомоле
Далее вам нужно настроить пользователей и соединения, чтобы Гуакамоле работал правильно.
Сначала создайте основной файл конфигурации гуакамоле с именем 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}
Затем установите переменную среды домашнего каталога гуакамоле и добавьте ее в файл конфигурации /etc/default/tomcat9.
echo "GUACAMOLE_HOME=/etc/guacamole" >> /etc/default/tomcat9
Затем вам нужно будет создать файл с именем user-mapping.xml, чтобы определить пользователя, которому разрешен доступ к веб-интерфейсу Guacamole.
Перед его созданием сгенерируйте хэш md5 для пароля с помощью следующей команды:
echo -n yoursecurepassword | openssl md5
Вы должны увидеть следующий вывод:
(stdin)= 55b38b03e7587a45fd886977842ff9b8
Примечание. Запомните указанный выше пароль md5. Вам нужно будет определить это в файле user-mapping.xml.
Затем создайте новый файл user-mapping.xml с помощью следующей команды:
nano /etc/guacamole/user-mapping.xml
<user-mapping> <authorize username="admin" password="55b38b03e7587a45fd886977842ff9b8" encoding="md5"> <connection name="Ubuntu20.04-Server"> <protocol>ssh</protocol> <param name="hostname">192.168.10.50</param> <param name="port">22</param> <param name="username">root</param> </connection> <connection name="Windows Server"> <protocol>rdp</protocol> <param name="hostname">192.168.10.51</param> <param name="port">3389</param> </connection> </authorize> </user-mapping>
Сохраните и закройте файл, когда закончите.
Где:
- 192.168.10.50 — это IP-адрес удаленного сервера Ubuntu.
- 192.168.10.51 — это IP-адрес удаленного сервера Windows.
Затем перезапустите службу Tomcat и Guacamole, чтобы изменения вступили в силу:
systemctl restart tomcat9
systemctl restart guacd
На данный момент сервер и клиент гуакамоле установлены и настроены.
Доступ к веб-интерфейсу гуакамоле
Теперь откройте веб-браузер и войдите в веб-интерфейс Guacamole, используя URL-адрес http://your-server-ip:8080/guacamole. Вы будете перенаправлены на страницу входа в систему Guacamole:
Укажите имя пользователя и пароль, которые вы определили в файле user-mapping.xml, и нажмите кнопку «Войти». Вы должны увидеть панель управления гуакамоле на следующей странице:
Теперь нажмите на Ubuntu20.04-Server, чтобы подключиться к удаленному серверу с использованием протокола SSH. Вы должны увидеть экран входа в систему сервера Ubuntu, как показано ниже:
Укажите корневой пароль вашего сервера Ubuntu и нажмите Enter. Вы войдете на сервер Ubuntu, как показано ниже:
Настройте Nginx для гуакамоле
Рекомендуется настроить Nginx в качестве обратного прокси-сервера для доступа к гуакамоле через порт 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
Теперь вы можете получить доступ к своему гуакамоле, используя URL-адрес http://your-server-ip.
Заключение
Поздравляем! вы успешно установили и настроили клиент удаленного рабочего стола Guacamole на сервере Ubuntu 20.04. Теперь вы можете добавить больше подключений RDP или VNC к своему гуакамоле и начать управлять ими из веб-интерфейса.