GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare il client desktop remoto Guacamole basato sul web su Ubuntu 20.04 LTS

Guacamole è un pannello di controllo desktop remoto gratuito, open source e basato sul Web utilizzato per la gestione dei sistemi Linux e Windows dal browser web. Supporta protocolli standard come VNC, RDP, SSH e Kubernetes e non è necessario installare alcun software sul computer client. Supporta appunti, trasferimento di file tramite SFTP e consente di gestire più sessioni di desktop remoto.

In questo tutorial, ti mostreremo come installare e configurare il client desktop remoto Guacamole sul server Ubuntu 20.04.

Prerequisiti

  • Un server che esegue Ubuntu 20.04 con minimo 2 GB di RAM.
  • Una password di root è configurata sul server.

Per iniziare

Innanzitutto, dovrai aggiornare il tuo sistema all'ultima versione stabile. Puoi farlo aggiornando tutti i pacchetti di sistema usando il seguente comando:

apt-get update -y

Una volta aggiornato il sistema, riavvia il sistema per applicare le modifiche.

Installa le dipendenze richieste

Innanzitutto, dovrai installare alcune dipendenze nel tuo server per compilare Guacamole dal sorgente. Puoi installarli tutti con il seguente comando:

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

Una volta installate tutte le dipendenze, puoi procedere al passaggio successivo.

Installa il server Tomcat

Guacamole utilizza Tomcat per fornire il contenuto del client guacamole agli utenti che si connettono al server guacamole tramite il browser web. Quindi il server Tomcat deve essere installato nel tuo server. Se non è installato puoi installarlo con il seguente comando:

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

Dopo aver installato il server Tomcat, avviare il servizio Tomcat e consentirne l'avvio al riavvio del sistema con il seguente comando:

systemctl start tomcat9
systemctl enable tomcat9

Puoi anche verificare lo stato del servizio Tomcat con il seguente comando:

systemctl status tomcat9

Dovresti ottenere il seguente output:

? 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>

Una volta terminato, puoi procedere al passaggio successivo.

Installa Guacamole

Per impostazione predefinita, il pacchetto Guacamole non è disponibile nel repository predefinito di Ubuntu 20.04. Quindi dovrai compilarlo dal sorgente.

Innanzitutto, scarica l'ultima versione di Guacamole dal sito Web di Apache utilizzando il seguente comando:

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

Una volta completato il download, estrai il file scaricato con il seguente comando:

tar -xvzf guacamole-server-1.1.0.tar.gz

Quindi, cambia la directory nella directory estratta ed esegui lo script di configurazione per verificare se manca o meno una dipendenza richiesta:

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

Se tutto va bene, dovresti vedere il seguente output:

     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.

Ora, compila e installa Guacamole Server eseguendo il seguente comando:

make
make install

Quindi, esegui il comando seguente per aggiornare la cache di sistema delle librerie installate:

ldconfig

Quindi, abilita e avvia il servizio Guacamole usando il seguente comando

systemctl enable guacd
systemctl start guacd

Ora puoi controllare lo stato del servizio Guacamole con il seguente comando:

systemctl status guacd

Dovresti ottenere il seguente output:

? 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 ubuntu2004 systemd[1]: Starting LSB: Guacamole proxy daemon...
Aug 25 12:02:26 ubuntu2004 guacd[27551]: Guacamole proxy daemon (guacd) version 1.1.0 started
Aug 25 12:02:26 ubuntu2004 guacd[27536]: Starting guacd:
Aug 25 12:02:26 ubuntu2004 guacd[27551]: Starting guacd:
Aug 25 12:02:26 ubuntu2004 guacd[27551]: uacd[27551]: INFO:        Guacamole proxy daemon (guacd) versio
Aug 25 12:02:26 ubuntu2004 systemd[1]: Started LSB: Guacamole proxy daemon.
Aug 25 12:02:26 ubuntu2004 guacd[27555]: Listening on host 127.0.0.1, port 4822
Aug 25 12:02:26 ubuntu2004 guacd[27536]: uacd[275

Una volta terminato, puoi procedere al passaggio successivo.

Installa il client Guacamole

Successivamente, dovrai installare il client Guacamole sul tuo server. Il client Guacamole è scritto in Java ed è multipiattaforma. Questo costituirà l'applicazione HTML5 finale che ti verrà presentata.

Per prima cosa, scarica il binario Guacamole usando il seguente comando:

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

Dopo aver scaricato il binario Guacamole, copialo nella directory /etc/guacamole usando il seguente comando:

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

Quindi, crea un collegamento simbolico del client guacamole alla directory Tomcat webapps con il seguente comando:

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

Infine, riavvia il servizio Tomcat e Guacamole per distribuire la nuova applicazione web:

systemctl restart tomcat9
systemctl restart guacd

Una volta terminato, puoi procedere al passaggio successivo.

Configura Guacomole

Successivamente, è necessario configurare utenti e connessioni per far funzionare correttamente Guacamole.

Innanzitutto, crea un file di configurazione principale di Guacamole denominato guacamole.properties.

nano /etc/guacamole/guacamole.properties

Aggiungi le seguenti righe:

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

Salva e chiudi il file quando hai finito.

Successivamente, dovrai creare directory per la libreria e l'estensione. Puoi crearli con il seguente comando:

mkdir /etc/guacamole/{extensions,lib}

Quindi, imposta la variabile d'ambiente della directory home di guacamole e aggiungila al file di configurazione /etc/default/tomcat9.

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

Successivamente, dovrai creare un file chiamato user-mapping.xml per definire l'utente autorizzato ad accedere all'interfaccia utente web di Guacamole.

Prima di crearlo, genera l'hash md5 per la password con il seguente comando:

echo -n yoursecurepassword | openssl md5

Dovresti vedere il seguente output:

(stdin)= 55b38b03e7587a45fd886977842ff9b8

Nota :Ricorda la password md5 sopra. Dovrai definirlo nel file user-mapping.xml.

Quindi, crea un nuovo user-mapping.xml con il seguente comando:

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>

Salva e chiudi il file quando hai finito.

Dove:

  • 192.168.10.50 è l'indirizzo IP del server Ubuntu remoto.
  • 192.168.10.51 è l'indirizzo IP del server Windows di rimozione.

Quindi, riavvia il servizio Tomcat e Guacamole per applicare le modifiche:

systemctl restart tomcat9
systemctl restart guacd

A questo punto il server e il client Guacamole sono stati installati e configurati.

Accedi all'interfaccia web di Guacamole

Ora apri il tuo browser web e accedi all'interfaccia web di Guacamole utilizzando l'URL http://your-server-ip:8080/guacamole. Verrai reindirizzato alla pagina di accesso di Guacamole:

Fornisci il nome utente e la password che hai definito in user-mapping.xml e fai clic su Accedi pulsante. Dovresti vedere la dashboard Guacamole nella pagina seguente:

Ora, fai clic sul Server Ubuntu20.04 per connettere il server remoto utilizzando il protocollo SSH. Dovresti vedere la schermata di accesso del server Ubuntu come mostrato di seguito:

Fornisci la password di root del tuo server Ubuntu e premi Invio . Accederai al server Ubuntu come mostrato di seguito:

Configura Nginx per Guacamole

Si consiglia di configurare Nginx come proxy inverso per accedere al Guacamole attraverso la porta 80.

Innanzitutto, installa il server web Nginx usando il seguente comando:

apt-get install nginx -y

Dopo aver installato Nginx, crea un nuovo file di configurazione dell'host virtuale Nginx:

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

Aggiungi le seguenti righe:

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/ /;
        }

}

Salva e chiudi il file quando hai finito. Quindi, abilita l'host virtuale Nginx con il seguente comando:

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

Quindi, riavvia il servizio Nginx per applicare le modifiche alla configurazione:

systemctl restart nginx

Ora puoi accedere al tuo Guacamole utilizzando l'URL http://your-server-ip.

Conclusione

Congratulazioni! hai installato e configurato correttamente il client desktop remoto Guacamole sul server Ubuntu 20.04. Ora puoi aggiungere più connessioni RDP o VNC al tuo Guacamole e iniziare a gestirle dall'interfaccia basata sul web.


Ubuntu
  1. Come installare il client desktop remoto Guacamole basato sul Web su Ubuntu 18.04 LTS

  2. Come installare Ubuntu 20.04 LTS Desktop

  3. Come installare Dropbox in Ubuntu 18.04 LTS Desktop

  4. Come installare il client Mattermost su Ubuntu 18.04

  5. Come installare Xrdp (desktop remoto) su Ubuntu 20.04 LTS

Come installare il client desktop WordPress su Ubuntu 20.04

Come installare TeamViewer su Ubuntu 16.04 LTS

Come installare Chrome Remote Desktop su Ubuntu 20.04 LTS

Come installare il client desktop Remmina su Ubuntu 20.04 LTS

Come installare il client desktop remoto Remmina in Ubuntu Linux

Come installare Guacamole su Ubuntu 20.04