Ricerca nel sito web

Installa e usa Guacamole Remote Desktop su CentOS 8


Su questa pagina

  1. Prerequisiti
  2. Per iniziare
  3. Installa Java
  4. Installa Tomcat
  5. Crea un file di servizio Systemd per Tomcat
  6. Installa Apache Guacamole
  7. Installa Guacamole Client
  8. Configura Guacamole
  9. Configura firewall
  10. Accedi all'interfaccia utente Web di Guacamole
  11. Conclusione

Apache Guacamole è un'applicazione desktop remota gratuita, open source, basata sul Web e senza client che supporta protocolli standard come VNC, RDP e SSH. Ti consente di accedere a Linux e PC Windows da un browser Web tramite RDP, SSH o VNC. È senza client, quindi non è necessario installare alcun plug-in o software client. È composto da due componenti Guacamole Server e Guacamole Client. Il server Guacamole fornisce componenti lato server e nativi necessari per connettersi al PC remoto mentre il client Guacamole è un'applicazione Web HTML 5 utilizzata per connettersi al PC remoto.

In questo tutorial, ti mostreremo come installare il server Guacamole su CentOS 8.

Prerequisiti

  • Un server che esegue CentOS 8.
  • Il server è configurato con una password di root.

Iniziare

Innanzitutto, dovrai installare alcuni pacchetti richiesti nel tuo server. Puoi installarli tutti con il seguente comando:

dnf install -y unzip curl make cmake wget gcc zlib-devel compat-openssl10

Dopo aver installato tutti i pacchetti richiesti, sarà necessario abilitare il repository EPEL, PowerTools e Devel nel proprio sistema. Puoi abilitarli con il seguente comando:

dnf install epel-release -y
dnf config-manager --set-enabled PowerTools
dnf config-manager --enable Devel

Quindi, installa altri strumenti richiesti con il seguente comando:

dnf install cairo-devel libuv-devel libjpeg-turbo-devel libjpeg-devel libpng-devel libtool uuid-devel freerdp-devel pango-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel libssh2-devel libtheora opus lame-libs

Successivamente, disabilita il repository Devel con il seguente comando:

dnf config-manager --disable Devel

Successivamente, dovrai compilare la libreria telnet nel tuo sistema.

Innanzitutto, scaricalo con il seguente comando:

curl -s https://api.github.com/repos/seanmiddleditch/libtelnet/releases/latest | grep browser_download_url | cut -d '"' -f 4 | wget -qi -

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

tar -xf libtelnet-*.tar.gz

Quindi, cambia la directory nella directory estratta e configurala con il seguente comando:

cd libtelnet-*/
./configure

Successivamente, installalo sul tuo sistema con il seguente comando:

make 
make install

Una volta installato, puoi procedere al passaggio successivo.

Installa Java

Guacamole è un software basato su Java, quindi Java deve essere installato sul tuo server. Se non è installato puoi installarlo con il seguente comando:

dnf install java-11-openjdk-devel

Una volta installato, verifica la versione di Java utilizzando il seguente comando:

java -version

Dovresti ottenere il seguente output:

openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)

Installa Tomcat

Apache Tomcat viene utilizzato per servire il contenuto del client guacamole. Quindi dovrai installare Tomcat sul tuo server.

Innanzitutto, crea un utente e un gruppo separati per Tomcat con il seguente comando:

groupadd --system tomcat
useradd -d /usr/share/tomcat -r -s /bin/false -g tomcat tomcat

Successivamente, scarica l'ultima versione di Tomcat con il seguente comando:

wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.43/bin/apache-tomcat-9.0.43.tar.gz

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

tar -xvf apache-tomcat-9.0.43.tar.gz

Successivamente, sposta Tomcat nella directory /usr/share

mv apache-tomcat-9.0.43 /usr/share/tomcat

Successivamente, imposta la proprietà corretta sulla directory Tomcat:

chown -R tomcat:tomcat /usr/share/tomcat/

Una volta terminato, puoi procedere al passaggio successivo.

Crea un file di servizio Systemd per Tomcat

Successivamente, dovrai creare un file di servizio systemd per Tomcat. Puoi crearlo con il seguente comando:

nano /etc/systemd/system/tomcat.service

Aggiungi le seguenti righe:

[Unit]
Description=Tomcat Server
After=syslog.target 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_HOME=/usr/share/tomcat
Environment=CATALINA_BASE=/usr/share/tomcat
Environment=CATALINA_PID=/usr/share/tomcat/temp/tomcat.pid
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M'
ExecStart=/usr/share/tomcat/bin/catalina.sh start
ExecStop=/usr/share/tomcat/bin/catalina.sh stop

[Install]
WantedBy=multi-user.target

Salva e chiudi il file, quindi ricarica il demone systemd con il seguente comando:

systemctl daemon-reload

Successivamente, avvia il servizio Tomcat e abilitalo per l'avvio al riavvio del sistema:

systemctl start tomcat
systemctl enable tomcat

Puoi anche controllare lo stato di Tomcat con il seguente comando:

systemctl status tomcat

Dovresti ottenere il seguente output:

? tomcat.service - Tomcat Server
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-02-16 09:34:45 EST; 6s ago
  Process: 26546 ExecStart=/usr/share/tomcat/bin/catalina.sh start (code=exited, status=0/SUCCESS)
 Main PID: 26551 (java)
    Tasks: 35 (limit: 12523)
   Memory: 89.7M
   CGroup: /system.slice/tomcat.service
           ??26551 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.man>

Feb 16 09:34:45 centos8 systemd[1]: Starting Tomcat Server...
Feb 16 09:34:45 centos8 systemd[1]: Started Tomcat Server.

Installa Apache Guacamole

Innanzitutto, scarica l'ultima versione di Guacamole con il seguente comando:

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

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

tar -xvzf guacamole-server-1.3.0.tar.gz

Quindi, cambia la directory nella directory estratta e configurala con il seguente comando:

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

Successivamente, installalo sul tuo sistema con il seguente comando:

make
make install
ldconfig

Successivamente, ricarica il demone systemd con il seguente comando:

systemctl daemon-reload

Quindi, avvia il servizio Guacamole e abilitalo per l'avvio al riavvio del sistema:

systemctl start guacd
systemctl enable guacd

Puoi controllare lo stato del Guacamole con il seguente comando:

systemctl status guacd

Dovresti ottenere il seguente output:

? guacd.service - LSB: Guacamole proxy daemon
   Loaded: loaded (/etc/rc.d/init.d/guacd; generated)
   Active: active (running) since Tue 2021-02-16 09:37:15 EST; 4s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 35723 ExecStart=/etc/rc.d/init.d/guacd start (code=exited, status=0/SUCCESS)
    Tasks: 1 (limit: 12523)
   Memory: 12.1M
   CGroup: /system.slice/guacd.service
           ??35726 /usr/local/sbin/guacd -p /var/run/guacd.pid

Feb 16 09:37:15 centos8 systemd[1]: Starting LSB: Guacamole proxy daemon...
Feb 16 09:37:15 centos8 guacd[35723]: Starting guacd: guacd[35724]: INFO:        Guacamole proxy daemon (guacd) version 1.3.0 started
Feb 16 09:37:15 centos8 guacd[35723]: SUCCESS
Feb 16 09:37:15 centos8 guacd[35726]: Listening on host 127.0.0.1, port 4822
Feb 16 09:37:15 centos8 systemd[1]: Started LSB: Guacamole proxy daemon.

Installa Guacamole Client

Successivamente, crea una directory per Guacamole e scarica il file client Guacamole con il seguente comando:

mkdir /etc/guacamole
wget https://downloads.apache.org/guacamole/1.3.0/binary/guacamole-1.3.0.war

Una volta scaricato, sposta il file scaricato nella directory /etc/guacamole:

mv guacamole-1.3.0.war /etc/guacamole/guacamole.war

Quindi, crea un collegamento simbolico del file guacamole.war alla directory /usr/share/tomcat:

ln -s /etc/guacamole/guacamole.war /usr/share/tomcat/webapps/

Quindi, imposta la home directory di Guacamole con il seguente comando:

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

Quindi, crea un file di configurazione Guacamole con il seguente comando:

nano /etc/guacamole/guacamole.properties

Aggiungi le seguenti righe:

guacd-hostname: localhost
guacd-port:    4822
user-mapping:    /etc/guacamole/user-mapping.xml
auth-provider:    net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider

Salva e chiudi il file, quindi crea un collegamento simbolico della directory /etc/guacamole:

ln -s /etc/guacamole /usr/share/tomcat/.guacamole

Configura guacamole

Successivamente, dovrai creare un file di mappatura utente Guacamole per definire il server remoto a cui vuoi connetterti da Guacamole.

Innanzitutto, genera una password segreta con il seguente comando:

echo -n your-password | openssl md5

Dovresti vedere il seguente output:

(stdin)= 0f6e4a1df0cf5ee97c2066953bed21b2

Successivamente, crea un file user-mapping.xml con il seguente comando:

nano /etc/guacamole/user-mapping.xml

Aggiungi i dettagli del tuo server remoto Windows e Linux come mostrato di seguito:

<user-mapping>
<authorize 
            username="admin"
            password="0f6e4a1df0cf5ee97c2066953bed21b2"
            encoding="md5">

        <!-- First authorized Remote connection -->
        <connection name="CentOS 8">
            <protocol>ssh</protocol>
            <param name="hostname">69.87.218.51</param>
            <param name="port">22</param>

        </connection>

        <connection name="Windows Server">
            <protocol>rdp</protocol>
            <param name="hostname">15.185.162.149</param>
            <param name="port">3389</param>
            <param name="username">administrator</param>

        </connection>

    </authorize>

</user-mapping>

Salva e chiudi il file, quindi riavvia sia Guacamole che il servizio Tomcat per applicare le modifiche:

systemctl restart tomcat guacd

Una volta terminato, puoi procedere al passaggio successivo.

Configura firewall

Successivamente, dovrai consentire la porta 4822 e 8080 attraverso un firewall. Puoi consentirli con il seguente comando:

firewall-cmd --permanent --add-port=4822/tcp
firewall-cmd --permanent --add-port=8080/tcp

Successivamente, ricarica il firewalld per applicare le modifiche:

firewall-cmd --reload

Accedi all'interfaccia utente 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. Dovresti vedere la seguente schermata:

Fornisci il nome utente e la password dell'amministratore e fai clic sul pulsante Accedi. Dovresti vedere la dashboard di Guacamole nella seguente schermata:

Nella schermata sopra, puoi vedere sia i server Windows che Linux. È possibile fare clic su per connettersi e gestire i server remoti.

Conclusione

Congratulazioni! hai installato e configurato correttamente il server Guacamole su CentOS 8. Ora puoi aggiungere più server remoti al tuo server Guacamole e gestirli tramite un browser web.