GNU/Linux >> Linux Esercitazione >  >> Rocky Linux

Come installare e utilizzare Apache Guacamole Remote Desktop su Rocky Linux 8

Apache Guacamole è un gateway desktop remoto gratuito, open source, senza client. Supporta protocolli standard come SSH, RDP e VNC. Non ha bisogno di plug-in e client di terze parti per funzionare. È possibile accedere alla macchina utilizzando un gateway basato sul Web. Può essere inserito 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 gira sul server Guacamole, accetta le connessioni degli utenti e poi le connette ai desktop remoti.
  • guacamole-client contiene tutti i componenti Java e Javascript di Guacamole che costituiscono l'applicazione web in cui gli utenti possono connettersi ai propri 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

  • Un server che esegue Rocky Linux 8 con un minimo di 2 GB di RAM e 2 core CPU.

  • Un nome di dominio per l'helpdesk che punta al server. Per il nostro tutorial utilizzeremo uvdesk.example.com dominio.

  • Un utente non root con privilegi sudo.

  • Assicurati che tutto sia aggiornato.

    $ sudo dnf update
    
  • Installa i pacchetti di utilità di base. Alcuni di essi potrebbero essere già installati.

    $ sudo dnf install wget curl nano unzip yum-utils -y
    

Passaggio 1:configurazione del firewall

Il primo passo è configurare il firewall. Rocky Linux utilizza Firewalld Firewall. Controlla lo stato del firewall.

$ sudo firewall-cmd --state
running

Il firewall funziona con diverse zone e la zona pubblica è quella predefinita che useremo. 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:installazione delle librerie

Prima di installare le librerie, è necessario 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 non è possibile creare Guacamole. Puoi 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

Passaggio 3:installazione di 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.

Esegui il comando seguente per installare OpenJDK.

$ sudo dnf install java-11-openjdk-devel

Verifica 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

Quindi, crea un utente per il servizio Tomcat. Imposteremo /opt/tomcat come directory principale.

$ 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 in /opt/tomcat directory.

$ 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

Salva il file premendo Ctrl + X e inserendo 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.

Fase 4:scarica e crea Guacamole

È possibile ottenere l'ultima versione stabile di Guacamole dal suo sito web. Al momento della stesura di questo tutorial, l'ultima versione disponibile era la 1.4.0. Scarica il codice sorgente Guacamole.

$ GVERSION=1.4.0
$ wget https://downloads.apache.org/guacamole/${GVERSION}/source/guacamole-server-${GVERSION}.tar.gz

Estrarre l'archivio e passare alla directory appena creata.

$ tar -xzf guacamole-server-${GVERSION}.tar.gz
$ cd guacamole-server-${GVERSION}/

Esegui configure comando per determinare quali librerie sono disponibili e per selezionare i componenti per la costruzione.

$ ./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 per l'avvio automatico 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 installato alcune librerie, vedrai no invece di yes nell'uscita. Ma se manca una libreria critica, il comando avrà esito negativo. Per controllare altre opzioni di configurazione, esegui ./configure --help comando.

Compila e installa il server Guacamole utilizzando i seguenti comandi.

$ make && sudo make install

Esegui 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

Verifica 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

Passaggio 5:installazione del client Guacamole

Ora che hai installato il server, il passaggio successivo consiste nell'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 dal sorgente.

Scarica il file 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 in /etc/guacamole directory.

Affinché il client funzioni, deve essere distribuito dalla directory di Tomcat, che è $CATALINA_HOME/webapps/ . Nel passaggio 3, impostiamo /opt/tomcat come $CATALINA_HOME .

Esegui il comando seguente per creare un collegamento simbolico da /etc/guacamole/guacamole.war nella directory delle applicazioni web Tomcat.

$ sudo ln -s /etc/guacamole/guacamole.war /opt/tomcat/webapps/

Modifica l'autorizzazione dell'app in tomcat utente.

$ 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 codice seguente 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

Salva il file premendo Ctrl + X e inserendo Y quando viene richiesto di salvare.

Riavvia il server Guacamole e Tomcat per applicare le modifiche.

$ sudo systemctl restart tomcat guacd

Passaggio 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 impostare il plug-in Validate Password, che puoi utilizzare per testare la forza della tua password MySQL. Scegli Y procedere. Ti verrà chiesto di scegliere il livello di convalida della password nel passaggio successivo. Scegli 2 che è il livello più forte e richiederà che la tua password contenga almeno otto caratteri e includa una combinazione 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 ENTER chiave per tutte le seguenti richieste per rimuovere gli utenti anonimi e il database di test, disabilitare gli accessi di root e caricare le regole appena 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!

Entra nella shell MySQL. Inserisci la tua password di root per continuare.

$ mysql -u root -p

Crea guacamole_user utente. Assicurati che la password soddisfi i requisiti impostati in precedenza.

mysql> CREATE USER 'guacamole_user'@'localhost' IDENTIFIED BY 'Your_password2';

Crea guacamole_db banca dati.

mysql> CREATE DATABASE guacamole_db;

Concedi all'utente i privilegi su guacamole_db banca dati.

mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';

Esci dalla shell.

mysql> exit

Passaggio 7 - Configura Apache Guacamole

La directory di configurazione di Guacamole è definita dalla variabile GUACAMOLE_HOME . Tutti i file di configurazione, le estensioni, ecc. si trovano in questa directory. Il /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 in /etc/default/tomcat file di configurazione.

$ echo "GUACAMOLE_HOME=/etc/guacamole" | sudo tee -a /etc/default/tomcat

Configura l'autenticazione del database Apache Guacamole

Abbiamo già impostato il database per Guacamole nel passaggio precedente. Per completare la configurazione è necessario scaricare il plug-in di autenticazione JDBC Guacamole e la libreria MySQL Java Connector.

Scarica il plugin Guacamole JDBC dal suo sito web.

$ cd ~
$ wget https://downloads.apache.org/guacamole/${GVERSION}/binary/guacamole-auth-jdbc-${GVERSION}.tar.gz

Estrai il plugin in /etc/guacamole/extensions directory.

$ 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 dei plug-in estratta.

$ cd guacamole-auth-jdbc-${GVERSION}/mysql/schema

Importa i file di schema in MySQL.

$ cat *.sql | mysql -u root -p guacamole_db

Scarica MySQL Java Connector. Prendi il file di archivio indipendente dalla piattaforma. Al momento della stesura di questo tutorial, l'ultima versione disponibile è 8.0.28.

$ cd ~
$ wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.28.tar.gz

Estrarre l'archivio e copiarne il contenuto in /etc/guacamole/lib directory.

$ 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 /etc/guacamole/guacamole.properties file e aprilo per la modifica.

$ sudo nano /etc/guacamole/guacamole.properties

Incolla il codice seguente 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

Salva il file premendo Ctrl + X e inserendo Y quando viene richiesto di salvare.

Collega la directory di configurazione 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 si occupa di guacamole.properties o autenticazione del database in alcun modo.

$ sudo systemctl restart tomcat

Passaggio 8 - Installa SSL

Per installare un certificato SSL utilizzando Let's 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.

Esegui 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 [email protected] -d guacamole.example.com

Il comando precedente scaricherà un certificato in /etc/letsencrypt/live/guacamole.example.com directory sul tuo server.

Genera un gruppo Diffie-Hellman certificato.

$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Crea una directory webroot di sfida per il rinnovo automatico di Let's 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, prima crea il file /etc/cron.daily/certbot-renew e aprilo per la modifica.

$ 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.

Modifica le autorizzazioni sul file dell'attività per renderlo eseguibile.

$ sudo chmod +x /etc/cron.daily/certbot-renew

Passaggio 9 - Installa e configura Nginx come proxy inverso

Configura Tomcat per la connessione proxy inverso

Prima di installare Nginx, dobbiamo configurare Tomcat in modo che passi attraverso l'indirizzo IP remoto fornito dal proxy inverso di Nginx.

Apri il /opt/tomcat/conf/server.xml file per la modifica.

$ sudo nano /opt/tomcat/conf/server.xml

Individua la riga seguente nel file.

<Host name="localhost"  appBase="webapps" 
            unpackWARs="true" autoDeploy="true">

Modifica la riga incollando del codice aggiuntivo sotto di essa, in modo che appaia come segue.

<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

Verifica 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

Aggiungi 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.

Verifica la sintassi del file di configurazione 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

Fase 10 - Accesso al Guacamole

Apri l'URL https://guacamole.example.com nel tuo browser e sarai accolto con la seguente schermata.

Inserisci guacadmin come nome utente e guacadmin 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, clicca su guacadmin in alto a destra e fai clic su Impostazioni menu dal menu a tendina.

Passa agli Utenti scheda e fai clic su Nuovo utente pulsante per iniziare.

Inserisci i tuoi dati e spunta tutti i permessi.

Fai clic su Salva Al termine. Esci da guacadmin utente e accedere nuovamente utilizzando l'utente appena creato.

Torna alla schermata degli utenti. seleziona guacadmin utente per modificare e fare clic su Elimina pulsante in basso per eliminare l'utente.

Fase 11 - Come usare il guacamole

Per il nostro tutorial, ti mostreremo come connetterti a un server utilizzando il protocollo SSH.

Vai alle Impostazioni menu di Guacamole e seleziona Connessioni . Nella schermata Connessioni, premi Nuova connessione pulsante.

Scegli un nome per la connessione e seleziona SSH come protocollo dal menu a tendina.

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 stai utilizzando 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 vuoi abilitare eventuali impostazioni aggiuntive, fallo. Fai 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.


Rocky Linux
  1. Come installare e utilizzare PostgreSQL 13 su Rocky Linux

  2. Come installare MariaDB 10.6 su Rocky Linux 8

  3. Come installare Docker su Rocky Linux 8

  4. Come installare e configurare Memcached su Rocky Linux/Alma Linux 8

  5. Come installare Wine 6 sul desktop Rocky Linux 8

Come installare Apache Tomcat su Rocky Linux 8

Come installare e abilitare SNAP su Rocky Linux o AlmaLinux 8

Come installare e utilizzare il contenitore Rocky Linux Docker

Come installare e utilizzare FFmpeg in Rocky Linux 8

Come installare Budgie Desktop su Rocky Linux 8

Come installare e utilizzare il server Xrdp (desktop remoto) su un sistema Linux