Come installare e utilizzare Apache Guacamole Remote Desktop su Rocky Linux 8
Su questa pagina
- Prerequisiti
- Passaggio 1: configurazione del firewall
- Passaggio 2 - Installa le librerie
- Passaggio 3 - Installa Apache Tomcat
- Installa Java
- Crea utente Tomcat
- Scarica Tomcat
- Crea un file Systemd Unit e avvia Tomcat
- Configura l'autenticazione del database Apache Guacamole
- Configura il file delle proprietà di Guacamole
- Configura Tomcat per la connessione al proxy inverso
- Installa Nginx
- Crea un nuovo utente amministratore
Apache Guacamole è un gateway desktop remoto gratuito, open source, clientless. Supporta protocolli standard come SSH, RDP e VNC. Non ha bisogno di plugin e client di terze parti per funzionare. Puoi accedere alla tua macchina utilizzando un gateway basato sul web. Può essere messo dietro un server proxy che ti consente di accedere ai tuoi server da qualsiasi parte del mondo.
Il guacamole è composto da due componenti:
guacamole-server
contiene tutti i componenti nativi lato server richiesti da Guacamole per connettersi ai desktop remoti.guacd
è il demone proxy che viene eseguito sul server Guacamole, accetta le connessioni degli utenti e quindi le connette ai desktop remoti.guacamole-client
contiene tutti i componenti Java e Javascript di Guacamole che compongono l'applicazione web in cui gli utenti possono connettersi ai loro desktop.
In questo tutorial imparerai come installare e utilizzare Apache Guacamole su un server basato su Rocky Linux 8. Imparerai anche come usarlo per connetterti a un desktop remoto. Installeremo Guacamole costruendo dal suo codice sorgente.
Prerequisiti
-
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
Passaggio 1: configurare il firewall
Il primo passo è configurare il firewall. Rocky Linux utilizza Firewalld Firewall. Controlla lo stato dei firewall.
$ sudo firewall-cmd --state running
Il firewall funziona con zone diverse e la zona pubblica è quella predefinita che utilizzeremo. Elenca tutti i servizi e le porte attive sul firewall.
$ sudo firewall-cmd --permanent --list-services
Dovrebbe mostrare il seguente output.
cockpit dhcpv6-client ssh
Consenti porte HTTP e HTTPS.
$ sudo firewall-cmd --permanent --add-service=http $ sudo firewall-cmd --permanent --add-service=https
Ricontrolla lo stato del firewall.
$ sudo firewall-cmd --permanent --list-services
Dovresti vedere un output simile.
cockpit dhcpv6-client http https ssh
Ricarica il firewall per abilitare le modifiche.
$ sudo firewall-cmd --reload
Passaggio 2: installa le librerie
Prima di installare le librerie, dobbiamo installare il repository EPEL e abilitare il repository PowerTools.
$ sudo dnf install epel-release -y $ sudo dnf config-manager --set-enabled powertools
Il primo passo è installare le librerie necessarie per costruire Guacamole. Installa le librerie richieste.
$ sudo dnf install cairo-devel libjpeg-turbo-devel libjpeg-devel libpng-devel libtool libuuid-devel uuid-devel make cmake
Le dipendenze di cui sopra sono obbligatorie, il che significa che senza di esse Guacamole non può essere costruito. È possibile installare alcune dipendenze facoltative per aggiungere il supporto per vari protocolli e funzionalità.
Ma prima, devi abilitare RPMFusion Free Repository perché contiene il pacchetto
ffmpeg-devel
.$ sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
Installa le dipendenze facoltative.
$ 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
Passo 3 - Installa Apache Tomcat
Per il nostro tutorial, installeremo Apache Tomcat 9, che richiede Java 8 e versioni successive per funzionare.
Installa Java
Installeremo OpenJDK 11, l'implementazione open source della piattaforma Java.
Eseguire il seguente comando per installare OpenJDK.
$ sudo dnf install java-11-openjdk-devel
Verificare l'installazione.
$ 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)
Crea utente Tomcat
Successivamente, crea un utente per il servizio Tomcat. Imposteremo
/opt/tomcat
come home directory.$ sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
Scarica Tomcat
L'ultima versione di Tomcat v10 può essere scaricata dalla sua pagina di download. Al momento della stesura di questo tutorial, v9.0.59 è l'ultima versione disponibile. Controlla l'ultima versione prima di scaricare Tomcat.
Usa
wget
per scaricare Tomcat.$ TVERSION=9.0.59 $ wget https://dlcdn.apache.org/tomcat/tomcat-9/v${TVERSION}/bin/apache-tomcat-${TVERSION}.tar.gz
Estrai il file nella directory
/opt/tomcat
.$ sudo tar -xf apache-tomcat-${TVERSION}.tar.gz --strip-components=1 -C /opt/tomcat/
Cambia la proprietà della directory all'utente Tomcat.
$ sudo chown -R tomcat:tomcat /opt/tomcat
Crea un file di unità Systemd e avvia Tomcat
Crea e apri il file
/etc/systemd/system/tomcat.service
per la modifica.$ sudo nano /etc/systemd/system/tomcat.service
Incolla il seguente codice.
[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
Salvare il file premendo Ctrl + X e immettendo Y quando viene richiesto di salvare.
Ricarica il demone del servizio per abilitare il servizio Tomcat.
$ sudo systemctl daemon-reload
Abilita e avvia il servizio Tomcat.
$ sudo systemctl enable tomcat --now
Controlla lo stato del servizio.
$ 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.
Passaggio 4: scarica e crea Guacamole
È possibile ottenere la versione 1.4.0. Scarica il codice sorgente di Guacamole.
$ GVERSION=1.4.0 $ wget https://downloads.apache.org/guacamole/${GVERSION}/source/guacamole-server-${GVERSION}.tar.gz
Estrai l'archivio e passa alla directory appena creata.
$ tar -xzf guacamole-server-${GVERSION}.tar.gz $ cd guacamole-server-${GVERSION}/
Esegui il comando
configure
per determinare quali librerie sono disponibili e selezionare i componenti per la compilazione.$ ./configure --with-systemd-dir=/etc/systemd/system/
La directory
/etc/systemd/system/
è dove verrà installato lo script di avvio durante il processo di compilazione per configurare Guacamole in modo che si avvii automaticamente all'avvio.Otterrai il seguente output al completamento con successo.
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.
Se non hai alcune librerie installate, vedrai
no
invece diyes
nell'output. Ma se manca una libreria critica, il comando fallirà. Per controllare più opzioni di configurazione, eseguire il comando./configure --help
.Compilare e installare il server Guacamole utilizzando i seguenti comandi.
$ make && sudo make install
Eseguire il comando seguente per aggiornare la cache di sistema delle librerie installate.
$ sudo ldconfig
Ricarica il demone del servizio.
$ sudo systemctl daemon-reload
Abilita e avvia il servizio Guacamole.
$ sudo systemctl enable guacd --now
Verificare lo stato del servizio.
$ 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
Passo 5 - Installa Guacamole Client
Ora che hai installato il server, il passo successivo è installare il client.
Crea la directory di configurazione per Guacamole.
$ sudo mkdir /etc/guacamole
A differenza del server Guacamole, il client Guacamole è disponibile in codice sorgente e in formato binario. Per il nostro tutorial, scaricheremo il binario. Puoi, tuttavia, scegliere di creare il client dall'origine.
Scarica il binario del client Guacamole dal sito web.
$ sudo wget https://downloads.apache.org/guacamole/${GVERSION}/binary/guacamole-${GVERSION}.war -O /etc/guacamole/guacamole.war
Il comando precedente scarica e copia il file binario Guacamole nella directory
/etc/guacamole
.Affinché il client funzioni, deve essere distribuito dalla directory Tomcats, che è
$CATALINA_HOME/webapps/
. Nel passaggio 3, impostiamo/opt/tomcat
come$CATALINA_HOME
.Esegui il seguente comando per creare un collegamento simbolico da
/etc/guacamole/guacamole.war
alla directory webapps di Tomcat.$ sudo ln -s /etc/guacamole/guacamole.war /opt/tomcat/webapps/
Cambia l'autorizzazione dell'app in utente
tomcat
.$ sudo chown -R tomcat:tomcat /opt/tomcat/webapps
Crea il file di configurazione dell'applicazione web in
/etc/guacamole/guacd.conf
.$ sudo nano /etc/guacamole/guacd.conf
Incolla il seguente codice al suo interno. Sostituisci
your_server_IP
con l'indirizzo IP pubblico del tuo server.# # 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
Salvare il file premendo Ctrl + X e immettendo Y quando viene richiesto di salvare.
Riavvia il server Guacamole e Tomcat per applicare le modifiche.
$ sudo systemctl restart tomcat guacd
Passo 6 - Installa e configura MySQL
Apache Guacamole offre vari tipi di metodi di autenticazione. A scopo di test, è sufficiente una semplice autenticazione basata su password. Ma per gli ambienti di produzione, dobbiamo implementare un metodo di autenticazione più forte e migliore. Qui implementeremo l'autenticazione basata su database utilizzando MySQL.
Installa MySQL.
$ sudo dnf install mysql-server
Abilita e avvia il servizio MySQL.
$ sudo systemctl enable mysqld --now
Installazione sicura di MySQL.
$ sudo mysql_secure_installation
Per il primo passaggio, ti verrà chiesto se desideri configurare il plug-in Validate Password, che puoi utilizzare per testare la sicurezza della tua password MySQL. Scegli
Y
per procedere. Ti verrà chiesto di scegliere il livello di convalida della password nel passaggio successivo. Scegli2
che è il livello più forte e richiederà che la tua password sia lunga almeno otto caratteri e includa un mix di caratteri maiuscoli, minuscoli, numerici e speciali.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
Ti verrà chiesto di scegliere una password di root nel passaggio successivo. Scegli una password complessa che soddisfi i requisiti del plug-in di convalida della password. Nel passaggio successivo, ti verrà chiesto se continuare con la password scelta. Premi
y
per continuare.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
Premi
Y
e poi il tastoINVIO
per tutti i seguenti prompt per rimuovere gli utenti anonimi e il database di test, disabilitare i login root e caricare le nuove regole impostate.... 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!
Inserisci la shell MySQL. Inserisci la tua password di root per continuare.
$ mysql -u root -p
Crea un utente
guacamole_user
. Assicurati che la password soddisfi i requisiti impostati in precedenza.mysql> CREATE USER 'guacamole_user'@'localhost' IDENTIFIED BY 'Your_password2';
Crea il database
guacamole_db
.mysql> CREATE DATABASE guacamole_db;
Concedi all'utente i privilegi sul database
guacamole_db
.mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';
Esci dalla shell.
mysql> exit
Passaggio 7: configurare Apache Guacamole
La directory di configurazione di Guacamoles è definita dalla variabile
GUACAMOLE_HOME
. Tutti i file di configurazione, le estensioni, ecc. si trovano in questa directory. Il file/etc/guacamole/guacamole.properties
memorizza tutte le configurazioni e le impostazioni per Guacamole e le sue estensioni.Le estensioni e le librerie richiedono directory aggiuntive. Creali.
$ sudo mkdir /etc/guacamole/{extensions,lib}
Imposta la variabile home Guacamole e salvala nel file di configurazione
/etc/default/tomcat
.$ echo "GUACAMOLE_HOME=/etc/guacamole" | sudo tee -a /etc/default/tomcat
Configurare l'autenticazione del database Apache Guacamole
Abbiamo già impostato il database per Guacamole nel passaggio precedente. Dobbiamo scaricare il plug-in di autenticazione JDBC Guacamole e la libreria MySQL Java Connector per completare la configurazione.
Scarica il Guacamole JDBC Plugin dal suo sito web.
$ cd ~ $ wget https://downloads.apache.org/guacamole/${GVERSION}/binary/guacamole-auth-jdbc-${GVERSION}.tar.gz
Estrai il plugin nella directory
/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/
Il passaggio successivo consiste nell'importare lo schema SQL nel database MySQL. Passa alla directory del plugin estratto.
$ cd guacamole-auth-jdbc-${GVERSION}/mysql/schema
Importa i file dello schema in MySQL.
$ cat *.sql | mysql -u root -p guacamole_db
Scarica il connettore MySQL Java. Prendi il file di archivio indipendente dalla piattaforma. Al momento della stesura di questo tutorial, l'ultima versione disponibile è la 8.0.28.
$ cd ~ $ wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.28.tar.gz
Estrai l'archivio e copiane il contenuto nella directory
/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/
Configura il file delle proprietà di Guacamole
Crea il file
/etc/guacamole/guacamole.properties
e aprilo per modificarlo.$ sudo nano /etc/guacamole/guacamole.properties
Incolla il seguente codice al suo interno. Sostituisci
your_server_ip
con l'indirizzo IP pubblico del tuo server.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
Salvare il file premendo Ctrl + X e immettendo Y quando viene richiesto di salvare.
Collega la directory di configurazione di Guacamole alla directory del servlet Tomcat.
$ sudo ln -s /etc/guacamole /opt/tomcat/.guacamole
Riavvia Tomcat per abilitare l'autenticazione del database. Non è necessario riavviare
guacd
perché è completamente indipendente dall'applicazione web e non gestisce in alcun modoguacamole.properties
o l'autenticazione del database .$ sudo systemctl restart tomcat
Passaggio 8: installa SSL
Per installare un certificato SSL utilizzando Lets Encrypt, è necessario installare lo strumento Certbot. Certbot richiede il repository EPEL per l'installazione, ma possiamo procedere direttamente con l'installazione poiché l'abbiamo già installato in precedenza.
Eseguire i seguenti comandi per installare Certbot.
$ sudo dnf install certbot
Genera il certificato SSL.
$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m -d guacamole.example.com
Il comando precedente scaricherà un certificato nella directory
/etc/letsencrypt/live/guacamole.example.com
sul tuo server.Genera un certificato di gruppo Diffie-Hellman.
$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Crea una directory webroot di verifica per il rinnovo automatico di Lets Encrypt.
$ sudo mkdir -p /var/lib/letsencrypt
Crea un Cron Job per rinnovare l'SSL. Verrà eseguito ogni giorno per controllare il certificato e rinnovarlo se necessario. Per questo, per prima cosa, crea il file
/etc/cron.daily/certbot-renew
e aprilo per modificarlo.$ sudo nano /etc/cron.daily/certbot-renew
Incolla il seguente codice.
#!/bin/sh certbot renew --cert-name guacamole.example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"
Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Modificare le autorizzazioni sul file dell'attività per renderlo eseguibile.
$ sudo chmod +x /etc/cron.daily/certbot-renew
Passaggio 9: installare e configurare Nginx come proxy inverso
Configura Tomcat per la connessione con proxy inverso
Prima di installare Nginx, dobbiamo configurare Tomcat per passare attraverso l'indirizzo IP remoto fornito dal proxy inverso Nginx.
Apri il file
/opt/tomcat/conf/server.xml
per la modifica.$ sudo nano /opt/tomcat/conf/server.xml
Individuare la seguente riga nel file.
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
Modifica la riga incollando il codice aggiuntivo sotto di essa, in modo che assomigli al seguente.
<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" />
Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Installa Nginx
Rocky Linux 8.5 viene fornito con l'ultima versione stabile di Nginx. Installalo usando il seguente comando.
$ sudo dnf module install nginx:1.20
Verificare l'installazione.
$ nginx -v nginx version: nginx/1.20.1
Abilita il servizio Nginx.
$ sudo systemctl enable nginx
Crea e apri il file
/etc/nginx/conf.d/guacamole.conf
per la modifica.$ sudo nano /etc/nginx/conf.d/guacamole.conf
Incolla il seguente codice al suo interno.
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; }
Salva il file premendo Ctrl + X e inserendo Y quando richiesto una volta terminato.
Apri il file
/etc/nginx/nginx.conf
per la modifica.$ sudo nano /etc/nginx/nginx.conf
Aggiungere la riga seguente prima della riga
include /etc/nginx/conf.d/*.conf;
.server_names_hash_bucket_size 64;
Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Verificare la sintassi del file di configurazione di 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
Correggi l'autorizzazione SELinux per consentire a Nginx di effettuare connessioni di rete.
$ sudo setsebool -P httpd_can_network_connect 1
Avvia il servizio Nginx per abilitare la nuova configurazione.
$ sudo systemctl start nginx
Riavvia il server Tomcat per applicare la modifica alla configurazione.
$ sudo systemctl restart tomcat
Passaggio 10: accesso a Guacamole
Apri l'URL
https://guacamole.example.com
nel tuo browser e verrai accolto con la seguente schermata.Inserisci
guacadmin
come nome utente eguacadmin
come password e fai clic su Accedi per procedere.Crea un nuovo utente amministratore
È necessario creare un nuovo utente ed eliminare l'utente esistente per motivi di sicurezza. Per farlo, fai clic su
guacadmin
in alto a destra e fai clic sul menu Impostazioni dal menu a discesa.Passa alla scheda Utenti e fai clic sul pulsante Nuovo utente per iniziare.
Inserisci i tuoi dati e seleziona tutte le autorizzazioni.
Fai clic su Salva al termine. Disconnettersi dall'utente guacadmin e riconnettersi utilizzando l'utente appena creato.
Torna alla schermata degli utenti. selezionare l'utente guacadmin da modificare e fare clic sul pulsante Elimina in basso per eliminare l'utente.
Passaggio 11: come utilizzare il guacamole
Per il nostro tutorial, ti mostreremo come connettersi a un server utilizzando il protocollo SSH.
Vai al menu Impostazioni di Guacamole e seleziona Connessioni. Nella schermata Connessioni, premi il pulsante Nuova connessione.
Scegli un nome per la connessione e seleziona SSH come protocollo dal menu a discesa.
Nella sezione Parametri, inserisci l'indirizzo IP del tuo server come nome host, 22 come porta (o se hai una porta SSH personalizzata, usa quella) e il tuo nome utente. Se utilizzi l'autenticazione basata su password, inserisci la password dell'utente o incolla la chiave privata. Inserisci la passphrase per la chiave privata se la stai utilizzando.
Se desideri abilitare eventuali impostazioni aggiuntive, fallo. Fare clic su Salva per completare l'aggiunta della connessione.
Torna alla dashboard e fai clic sul nome della connessione in Tutte le connessioni e verrai indirizzato al terminale SSH.
Conclusione
Questo conclude il nostro tutorial sull'installazione e l'utilizzo di Apache Guacamole per creare una connessione SSH su un server basato su Rocky Linux 8. Se hai domande, pubblicale nei commenti qui sotto.