Как установить и использовать удаленный рабочий стол Apache Guacamole в Rocky Linux 8
На этой странице
- Предпосылки
- Шаг 1. Настройка брандмауэра
- Шаг 2. Установите библиотеки
- Шаг 3. Установите Apache Tomcat
- Установить Java
- Создать пользователя Tomcat
- Загрузить Tomcat
- Создайте файл модуля Systemd и запустите Tomcat.
- Настройка проверки подлинности базы данных Apache Guacamole
- Настроить файл свойств гуакамоле
- Настройка Tomcat для обратного прокси-подключения
- Установите Nginx
- Создать нового пользователя-администратора
Apache Guacamole – это бесплатный бесклиентский шлюз удаленного рабочего стола с открытым исходным кодом. Он поддерживает стандартные протоколы, такие как SSH, RDP и VNC. Для работы не нужны никакие сторонние плагины и клиенты. Вы можете получить доступ к своей машине с помощью веб-шлюза. Его можно разместить за прокси-сервером, который позволит вам получить доступ к вашим серверам из любой точки мира.
Гуакамоле состоит из двух компонентов:
guacamole-server
содержит все собственные серверные компоненты, необходимые Guacamole для подключения к удаленным рабочим столам.guacd
— это прокси-демон, который работает на сервере Guacamole, принимает подключения пользователей и затем подключает их к удаленным рабочим столам.guacamole-client
содержит все компоненты Java и Javascript Guacamole, которые составляют веб-приложение, с помощью которого пользователи могут подключаться к своим рабочим столам.
В этом руководстве вы узнаете, как установить и использовать Apache Guacamole на сервере под управлением Rocky Linux 8. Вы также узнаете, как использовать его для подключения к удаленному рабочему столу. Мы будем устанавливать Guacamole, собирая исходный код.
Предпосылки
-
A server running Rocky Linux 8 with a minimum of 2GB RAM and 2 CPU Cores.
-
A domain name for the helpdesk pointing to the server. For our tutorial, we will use the
uvdesk.example.com
domain. -
A non-root based user with sudo privileges.
-
Make sure everything is updated.
$ sudo dnf update
-
Install basic utility packages. Some of them may already be installed.
$ sudo dnf install wget curl nano unzip yum-utils -y
Шаг 1. Настройте брандмауэр
Первым шагом является настройка брандмауэра. Rocky Linux использует Firewalld Firewall. Проверьте состояние брандмауэров.
$ sudo firewall-cmd --state running
Брандмауэр работает с разными зонами, и мы будем использовать публичную зону по умолчанию. Перечислите все службы и порты, активные на брандмауэре.
$ sudo firewall-cmd --permanent --list-services
Он должен показать следующий вывод.
cockpit dhcpv6-client ssh
Разрешить порты HTTP и HTTPS.
$ sudo firewall-cmd --permanent --add-service=http $ sudo firewall-cmd --permanent --add-service=https
Перепроверьте состояние брандмауэра.
$ sudo firewall-cmd --permanent --list-services
Вы должны увидеть аналогичный вывод.
cockpit dhcpv6-client http https ssh
Перезагрузите брандмауэр, чтобы изменения вступили в силу.
$ sudo firewall-cmd --reload
Шаг 2 — Установите библиотеки
Перед установкой библиотек нам нужно установить репозиторий EPEL и включить репозиторий PowerTools.
$ sudo dnf install epel-release -y $ sudo dnf config-manager --set-enabled powertools
Первым шагом является установка библиотек, необходимых для сборки Guacamole. Установите необходимые библиотеки.
$ sudo dnf install cairo-devel libjpeg-turbo-devel libjpeg-devel libpng-devel libtool libuuid-devel uuid-devel make cmake
Вышеуказанные зависимости являются обязательными, а значит, без них гуакамоле не построить. Вы можете установить некоторые дополнительные зависимости, чтобы добавить поддержку различных протоколов и функций.
Но сначала вам нужно включить бесплатный репозиторий RPMFusion, так как он содержит пакет
ffmpeg-devel
.$ sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
Установите дополнительные зависимости.
$ sudo dnf install ffmpeg-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel libwebsockets-devel pulseaudio-libs-devel openssl-devel compat-openssl10 libvorbis-devel libwebp-devel libgcrypt-devel
Шаг 3 — Установите Apache Tomcat
В нашем руководстве мы установим Apache Tomcat 9, для работы которого требуется Java 8 и более поздние версии.
Установить Java
Мы установим OpenJDK 11, реализацию платформы Java с открытым исходным кодом.
Выполните следующую команду, чтобы установить OpenJDK.
$ sudo dnf install java-11-openjdk-devel
Проверьте установку.
$ java -version openjdk 11.0.14 2022-01-18 LTS OpenJDK Runtime Environment 18.9 (build 11.0.14+9-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.14+9-LTS, mixed mode, sharing)
Создать пользователя Tomcat
Затем создайте пользователя для службы Tomcat. Мы установим
/opt/tomcat
в качестве домашнего каталога.$ sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
Скачать Томкэт
Последнюю версию Tomcat v10 можно загрузить со страницы загрузки. На момент написания этого руководства последней доступной версией была версия 9.0.59. Перед загрузкой Tomcat проверьте последнюю версию.
Используйте
wget
для загрузки Tomcat.$ TVERSION=9.0.59 $ wget https://dlcdn.apache.org/tomcat/tomcat-9/v${TVERSION}/bin/apache-tomcat-${TVERSION}.tar.gz
Извлеките файл в каталог
/opt/tomcat
.$ sudo tar -xf apache-tomcat-${TVERSION}.tar.gz --strip-components=1 -C /opt/tomcat/
Измените владельца каталога на пользователя Tomcat.
$ sudo chown -R tomcat:tomcat /opt/tomcat
Создайте файл модуля Systemd и запустите Tomcat
Создайте и откройте файл
/etc/systemd/system/tomcat.service
для редактирования.$ sudo nano /etc/systemd/system/tomcat.service
Вставьте следующий код.
[Unit] Description=Apache Tomcat 9 Servlet container Wants=network.target After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/jre" Environment="JAVA_OPTS=-Djava.awt.headless=true" Environment="CATALINA_BASE=/opt/tomcat" Environment="CATALINA_HOME=/opt/tomcat" Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh Restart=always [Install] WantedBy=multi-user.target
Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено сохранить.
Перезагрузите демон службы, чтобы включить службу Tomcat.
$ sudo systemctl daemon-reload
Включите и запустите службу Tomcat.
$ sudo systemctl enable tomcat --now
Проверьте статус службы.
$ sudo systemctl status tomcat ? tomcat.service - Apache Tomcat 9 Servlet container Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2022-03-09 09:48:38 UTC; 8s ago Process: 25308 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID: 25315 (java) Tasks: 29 (limit: 11412) Memory: 154.9M CGroup: /system.slice/tomcat.service ??25315 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties .. Mar 09 09:48:38 guacamole systemd[1]: Starting Apache Tomcat 9 Servlet container... Mar 09 09:48:38 guacamole systemd[1]: Started Apache Tomcat 9 Servlet container.
Шаг 4 — Загрузите и соберите гуакамоле
Вы можете получить версию 1.4.0. Загрузите исходный код гуакамоле.
$ GVERSION=1.4.0 $ wget https://downloads.apache.org/guacamole/${GVERSION}/source/guacamole-server-${GVERSION}.tar.gz
Распакуйте архив и перейдите во вновь созданный каталог.
$ tar -xzf guacamole-server-${GVERSION}.tar.gz $ cd guacamole-server-${GVERSION}/
Запустите команду
configure
, чтобы определить, какие библиотеки доступны, и выбрать компоненты для сборки.$ ./configure --with-systemd-dir=/etc/systemd/system/
В каталоге
/etc/systemd/system/
будет установлен сценарий запуска во время процесса сборки, чтобы настроить Guacamole для автоматического запуска при загрузке.При успешном завершении вы получите следующий вывод.
checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes ... ------------------------------------------------ guacamole-server version 1.4.0 ------------------------------------------------ Library status: freerdp2 ............ yes pango ............... yes libavcodec .......... yes libavformat.......... yes libavutil ........... yes libssh2 ............. yes libssl .............. yes libswscale .......... yes libtelnet ........... yes libVNCServer ........ yes libvorbis ........... yes libpulse ............ yes libwebsockets ....... yes libwebp ............. yes wsock32 ............. no Protocol support: Kubernetes .... yes RDP ........... yes SSH ........... yes Telnet ........ yes VNC ........... yes Services / tools: guacd ...... yes guacenc .... yes guaclog .... yes FreeRDP plugins: /usr/lib64/freerdp2 Init scripts: no Systemd units: /etc/systemd/system/ Type "make" to compile guacamole-server.
Если у вас не установлены некоторые библиотеки, в выводе вы увидите
no
вместоyes
. Но если критическая библиотека отсутствует, команда завершится ошибкой. Чтобы проверить дополнительные параметры настройки, выполните команду./configure --help
.Скомпилируйте и установите сервер Guacamole, используя следующие команды.
$ make && sudo make install
Выполните следующую команду, чтобы обновить системный кеш установленных библиотек.
$ sudo ldconfig
Перезагрузите сервисный демон.
$ sudo systemctl daemon-reload
Включите и запустите службу гуакамоле.
$ sudo systemctl enable guacd --now
Проверьте статус службы.
$ sudo systemctl status guacd ? guacd.service - Guacamole Server Loaded: loaded (/etc/systemd/system/guacd.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2022-03-10 09:13:41 UTC; 7s ago Docs: man:guacd(8) Main PID: 85349 (guacd) Tasks: 1 (limit: 11181) Memory: 10.8M CGroup: /system.slice/guacd.service ??85349 /usr/local/sbin/guacd -f Mar 10 09:13:41 guacamole systemd[1]: Started Guacamole Server. Mar 10 09:13:41 guacamole guacd[85349]: Guacamole proxy daemon (guacd) version 1.4.0 started Mar 10 09:13:41 guacamole guacd[85349]: guacd[85349]: INFO: Guacamole proxy daemon (guacd) version 1.4.0 started Mar 10 09:13:41 guacamole guacd[85349]: guacd[85349]: INFO: Listening on host ::1, port 4822 Mar 10 09:13:41 guacamole guacd[85349]: Listening on host ::1, port 4822
Шаг 5 — Установите клиент гуакамоле
Теперь, когда вы установили сервер, следующим шагом будет установка клиента.
Создайте каталог конфигурации для гуакамоле.
$ sudo mkdir /etc/guacamole
В отличие от сервера Guacamole, клиент Guacamole доступен в исходном коде и в двоичной форме. Для нашего урока мы загрузим двоичный файл. Однако вы можете выбрать сборку клиента из исходного кода.
Загрузите двоичный файл клиента Guacamole с веб-сайта.
$ sudo wget https://downloads.apache.org/guacamole/${GVERSION}/binary/guacamole-${GVERSION}.war -O /etc/guacamole/guacamole.war
Приведенная выше команда загружает и копирует двоичный файл гуакамоле в каталог
/etc/guacamole
.Чтобы клиент работал, его необходимо развернуть из каталога Tomcats, который находится в
$CATALINA_HOME/webapps/
. На шаге 3 мы устанавливаем/opt/tomcat
как$CATALINA_HOME
.Выполните следующую команду, чтобы создать символическую ссылку из
/etc/guacamole/guacamole.war
в каталог веб-приложений Tomcat.$ sudo ln -s /etc/guacamole/guacamole.war /opt/tomcat/webapps/
Измените разрешение приложения на пользователя
tomcat
.$ sudo chown -R tomcat:tomcat /opt/tomcat/webapps
Создайте файл конфигурации веб-приложения в
/etc/guacamole/guacd.conf
.$ sudo nano /etc/guacamole/guacd.conf
Вставьте в него следующий код. Замените
your_server_IP
общедоступным IP-адресом вашего сервера.# # guacd configuration file # [daemon] #pid_file = /var/run/guacd.pid log_level = info [server] bind_host = your_server_IP bind_port = 4822 # # The following parameters are valid only if # guacd was built with SSL support. # # [ssl] # server_certificate = /etc/ssl/certs/guacd.crt # server_key = /etc/ssl/private/guacd.key
Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено сохранить.
Перезапустите сервер гуакамоле и Tomcat, чтобы изменения вступили в силу.
$ sudo systemctl restart tomcat guacd
Шаг 6 — Установите и настройте MySQL
Apache Guacamole предлагает различные методы аутентификации. Для целей тестирования достаточно простой аутентификации на основе пароля. Но для производственных сред нам необходимо реализовать более надежный и лучший метод аутентификации. Здесь мы реализуем аутентификацию на основе базы данных с использованием MySQL.
Установите MySQL.
$ sudo dnf install mysql-server
Включите и запустите службу MySQL.
$ sudo systemctl enable mysqld --now
Безопасная установка MySQL.
$ sudo mysql_secure_installation
На первом этапе вас спросят, хотите ли вы настроить подключаемый модуль Validate Password, который вы можете использовать для проверки надежности вашего пароля MySQL. Выберите
Y
, чтобы продолжить. На следующем шаге вам будет предложено выбрать уровень проверки пароля. Выберите2
, который является самым надежным уровнем и потребует, чтобы ваш пароль состоял не менее чем из восьми символов и включал сочетание прописных и строчных букв, цифр и специальных символов.Securing the MySQL server deployment. Connecting to MySQL using a blank password. VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD component? Press y|Y for Yes, any other key for No: Y There are three levels of password validation policy: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
На следующем шаге вам будет предложено выбрать пароль root. Выберите надежный пароль, который соответствует требованиям плагина проверки пароля. На следующем шаге вас спросят, следует ли продолжить с выбранным паролем. Нажмите
y
, чтобы продолжить.Please set the password for root here. New password: Re-enter new password: Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
Нажмите
Y
, а затем клавишуENTER
для всех следующих запросов на удаление анонимных пользователей и тестовой базы данных, отключение входа в систему root и загрузку новых установленных правил.... Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y Success. ... Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y Success. ... Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y - Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. ... Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y Success. All done!
Войдите в оболочку MySQL. Введите пароль root, чтобы продолжить.
$ mysql -u root -p
Создайте пользователя
guacamole_user
. Убедитесь, что пароль соответствует требованиям, установленным ранее.mysql> CREATE USER 'guacamole_user'@'localhost' IDENTIFIED BY 'Your_password2';
Создайте базу данных
guacamole_db
.mysql> CREATE DATABASE guacamole_db;
Предоставьте пользователю права доступа к базе данных
guacamole_db
.mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';
Выйдите из оболочки.
mysql> exit
Шаг 7. Настройте Apache Guacamole
Каталог конфигурации гуакамолес определяется переменной
GUACAMOLE_HOME
. Все файлы конфигурации, расширения и т. д. находятся в этом каталоге. В файле/etc/guacamole/guacamole.properties
хранятся все конфигурации и настройки для гуакамоле и его расширений.Расширения и библиотеки требуют дополнительных каталогов. Создайте их.
$ sudo mkdir /etc/guacamole/{extensions,lib}
Установите домашнюю переменную гуакамоле и сохраните ее в файле конфигурации
/etc/default/tomcat
.$ echo "GUACAMOLE_HOME=/etc/guacamole" | sudo tee -a /etc/default/tomcat
Настройка аутентификации базы данных Apache Guacamole
Мы уже настроили базу данных для гуакамоле на предыдущем шаге. Нам нужно загрузить подключаемый модуль аутентификатора Guacamole JDBC и библиотеку MySQL Java Connector, чтобы завершить настройку.
Загрузите подключаемый модуль Guacamole JDBC со своего веб-сайта.
$ cd ~ $ wget https://downloads.apache.org/guacamole/${GVERSION}/binary/guacamole-auth-jdbc-${GVERSION}.tar.gz
Извлеките подключаемый модуль в каталог
/etc/guacamole/extensions
.$ tar -xf guacamole-auth-jdbc-${GVERSION}.tar.gz $ sudo mv guacamole-auth-jdbc-${GVERSION}/mysql/guacamole-auth-jdbc-mysql-${GVERSION}.jar /etc/guacamole/extensions/
Следующим шагом является импорт схемы SQL в базу данных MySQL. Перейдите в извлеченный каталог плагина.
$ cd guacamole-auth-jdbc-${GVERSION}/mysql/schema
Импортируйте файлы схемы в MySQL.
$ cat *.sql | mysql -u root -p guacamole_db
Загрузите соединитель Java для MySQL. Возьмите архивный файл, не зависящий от платформы. На момент написания этого руководства последняя доступная версия — 8.0.28.
$ cd ~ $ wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.28.tar.gz
Извлеките архив и скопируйте его содержимое в каталог
/etc/guacamole/lib
.$ tar -xf mysql-connector-java-8.0.28.tar.gz $ sudo mv mysql-connector-java-8.0.28/mysql-connector-java-8.0.28.jar /etc/guacamole/lib/
Настроить файл свойств гуакамоле
Создайте файл
/etc/guacamole/guacamole.properties
и откройте его для редактирования.$ sudo nano /etc/guacamole/guacamole.properties
Вставьте в него следующий код. Замените
your_server_ip
общедоступным IP-адресом вашего сервера.guacd-hostname: your_server_ip guacd-port: 4822 # MySQL properties mysql-hostname: localhost mysql-database: guacamole_db mysql-username: guacamole_user mysql-password: Your_password2
Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено сохранить.
Свяжите каталог конфигурации Guacamole с каталогом сервлета Tomcat.
$ sudo ln -s /etc/guacamole /opt/tomcat/.guacamole
Перезапустите Tomcat, чтобы включить аутентификацию базы данных. Вам не нужно перезапускать
guacd
, потому что он полностью независим от веб-приложения и никак не связан сguacamole.properties
или аутентификацией базы данных. .$ sudo systemctl restart tomcat
Шаг 8 — Установите SSL
Чтобы установить SSL-сертификат с помощью Lets Encrypt, нам нужно установить инструмент Certbot. Для установки Certbot требуется репозиторий EPEL, но мы можем приступить непосредственно к установке, поскольку мы уже установили его ранее.
Выполните следующие команды, чтобы установить Certbot.
$ sudo dnf install certbot
Создайте SSL-сертификат.
$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m -d guacamole.example.com
Приведенная выше команда загрузит сертификат в каталог
/etc/letsencrypt/live/guacamole.example.com
на вашем сервере.Создайте групповой сертификат Диффи-Хеллмана.
$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Создайте корневой каталог вызова для автоматического обновления Lets Encrypt.
$ sudo mkdir -p /var/lib/letsencrypt
Создайте задание Cron для обновления SSL. Он будет запускаться каждый день для проверки сертификата и его обновления при необходимости. Для этого сначала создайте файл
/etc/cron.daily/certbot-renew
и откройте его для редактирования.$ sudo nano /etc/cron.daily/certbot-renew
Вставьте следующий код.
#!/bin/sh certbot renew --cert-name guacamole.example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"
Сохраните файл, нажав Ctrl + X и введя Y при появлении запроса.
Измените права доступа к файлу задачи, чтобы сделать его исполняемым.
$ sudo chmod +x /etc/cron.daily/certbot-renew
Шаг 9. Установите и настройте Nginx в качестве обратного прокси
Настройка Tomcat для обратного прокси-соединения
Перед установкой Nginx нам нужно настроить Tomcat для прохождения через удаленный IP-адрес, предоставленный обратным прокси-сервером Nginx.
Откройте файл
/opt/tomcat/conf/server.xml
для редактирования.$ sudo nano /opt/tomcat/conf/server.xml
Найдите следующую строку в файле.
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
Измените строку, вставив дополнительный код под ней, чтобы она выглядела следующим образом.
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.RemoteIpValve" internalProxies="127.0.0.1" remoteIpHeader="x-forwarded-for" remoteIpProxiesHeader="x-forwarded-by" protocolHeader="x-forwarded-proto" />
Сохраните файл, нажав Ctrl + X и введя Y при появлении запроса.
Установите Nginx
Rocky Linux 8.5 поставляется с последней стабильной версией Nginx. Установите его с помощью следующей команды.
$ sudo dnf module install nginx:1.20
Проверьте установку.
$ nginx -v nginx version: nginx/1.20.1
Включите службу Nginx.
$ sudo systemctl enable nginx
Создайте и откройте файл
/etc/nginx/conf.d/guacamole.conf
для редактирования.$ sudo nano /etc/nginx/conf.d/guacamole.conf
Вставьте в него следующий код.
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name guacamole.example.com; access_log /var/log/nginx/guacamole.access.log; error_log /var/log/nginx/guacamole.error.log; # SSL ssl_certificate /etc/letsencrypt/live/guacamole.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/guacamole.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/guacamole.example.com/chain.pem; ssl_session_timeout 5m; ssl_session_cache shared:MozSSL:10m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_stapling on; ssl_stapling_verify on; ssl_dhparam /etc/ssl/certs/dhparam.pem; resolver 8.8.8.8; location / { proxy_pass http://127.0.0.1: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; client_max_body_size 1g; access_log off; } } # enforce HTTPS server { listen 80; listen [::]:80; server_name guacamole.example.com; return 301 https://$host$request_uri; }
Сохраните файл, нажав Ctrl + X и введя Y при появлении запроса после завершения.
Откройте файл
/etc/nginx/nginx.conf
для редактирования.$ sudo nano /etc/nginx/nginx.conf
Добавьте следующую строку перед строкой
include /etc/nginx/conf.d/*.conf;
.server_names_hash_bucket_size 64;
Сохраните файл, нажав Ctrl + X и введя Y при появлении запроса.
Проверьте синтаксис файла конфигурации Nginx.
$ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Исправьте разрешение SELinux, чтобы позволить Nginx устанавливать сетевые подключения.
$ sudo setsebool -P httpd_can_network_connect 1
Запустите службу Nginx, чтобы включить новую конфигурацию.
$ sudo systemctl start nginx
Перезапустите сервер Tomcat, чтобы применить изменение конфигурации.
$ sudo systemctl restart tomcat
Шаг 10 — Доступ к гуакамоле
Откройте URL-адрес
https://guacamole.example.com
в своем браузере, и вы увидите следующий экран.Введите
guacadmin
в качестве имени пользователя иguacadmin
в качестве пароля и нажмите Войти, чтобы продолжить.Создайте нового пользователя-администратора
Вы должны создать нового пользователя и удалить существующего пользователя в целях безопасности. Для этого нажмите
guacadmin
в правом верхнем углу и выберите меню «Настройки» в раскрывающемся меню.Перейдите на вкладку «Пользователи» и нажмите кнопку «Новый пользователь», чтобы начать.
Введите свои данные и отметьте все разрешения.
Нажмите Сохранить, когда закончите. Выйдите из системы под пользователем guacadmin и снова войдите в систему, используя только что созданного пользователя.
Вернитесь к экрану пользователей. выберите пользователя guacadmin для редактирования и нажмите кнопку «Удалить» внизу, чтобы удалить пользователя.
Шаг 11 - Как использовать гуакамоле
В нашем руководстве мы покажем вам, как подключиться к серверу с использованием протокола SSH.
Перейдите в меню «Настройки» гуакамоле и выберите «Подключения». На экране «Подключения» нажмите кнопку «Новое подключение».
Выберите имя для подключения и выберите SSH в качестве протокола в раскрывающемся меню.
В разделе «Параметры» введите IP-адрес вашего сервера в качестве имени хоста, 22 в качестве порта (или, если у вас есть собственный SSH-порт, используйте его) и свое имя пользователя. Если вы используете аутентификацию на основе пароля, введите пароль пользователя или вставьте закрытый ключ. Введите парольную фразу для закрытого ключа, если вы его используете.
Если вы хотите включить какие-либо дополнительные настройки, сделайте это. Щелкните Сохранить, чтобы завершить добавление соединения.
Вернитесь на панель инструментов и щелкните имя подключения в разделе «Все подключения», и вы попадете в терминал SSH.
Заключение
На этом мы завершаем наше руководство по установке и использованию Apache Guacamole для создания SSH-соединения на сервере на базе Rocky Linux 8. Если у вас есть какие-либо вопросы, задайте их в комментариях ниже.