Sådan installeres Guacamole for at få adgang til dine computere overalt i Ubuntu


Apache Guacamole er en klientløs open-source webbaseret gateway, der giver fjernadgang til servere og endda klient-pc'er via en webbrowser ved hjælp af protokoller som SSH, VNC og RDP.

Apache Guacamole består af 2 hovedkomponenter:

  • Guacamole Server: This provides all the server-side and native components required by Guacamole to connect to remote desktops.
  • Guacamole Client: This is an HTML 5 web application and a client that allows you to connect to your remote servers/desktops. This is underpinned by the Tomcat server.

I denne artikel vil vi lede dig gennem installationen af Apache Guacamole på Ubuntu 20.04.

Før du starter, skal du sikre dig, at du har følgende:

  • An instance of Ubuntu 20.04 LTS with sudo user configured.
  • Minimum 2GB RAM

Lad os nu dykke ned og installere Guacamole på Ubuntu 20.04 LTS.

På denne side

  • How to Install Apache Guacamole in Ubuntu Server
  • How to Install Tomcat on Ubuntu Server
  • How to Install Guacamole Client in Ubuntu
  • How to Configure Guacamole Client in Ubuntu
  • How to Configure Guacamole Server Connections in Ubuntu
  • How to Access Remote Ubuntu Server via Guacamole Web UI

1. Installationen af Apache Guacamole udføres ved at kompilere kildekoden. For at dette kan opnås, kræves der nogle byggeværktøjer som en forudsætning. Kør derfor følgende apt kommando:

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

2. Når installationen af byggeværktøjerne er afsluttet, skal du fortsætte og downloade den nyeste tarball-kildefil fra Guacamoles frigivelsesside. På tidspunktet for nedskrivning af denne vejledning er den seneste udgivelse Guacamole version 1.2.0. For at downloade den nyeste tarball-fil skal du bare køre wget-kommandoen nedenfor.

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

3. Derefter ekstraherer du Guacamole tarball-filen og navigerer til den ukomprimerede mappe.

$ tar -xvf guacamole-server-1.2.0.tar.gz
$ cd guacamole-server-1.2.0

4. Udfør derefter konfigurationsscriptet for at kontrollere, om der mangler afhængigheder. Dette tager normalt to minutter eller deromkring, så vær tålmodig, da scriptet udfører afhængighedskontrol. En spærre af output vises, herunder detaljer om serverversionen som vist.

$ ./configure --with-init-dir=/etc/init.d

5. For at kompilere og installere Guacamole skal du køre kommandoerne nedenfor, den ene efter den anden.

$ sudo make
$ sudo make install

6. Kør derefter kommandoen ldconfig for at oprette relevante links og cache til de senest delte biblioteker i Guacamole-servermappen.

$ sudo ldconfig

7. For at få Guacamole-serveren til at køre, starter vi Guacamole Daemon - guacd - og aktiverer den ved opstart og verificerer status som vist.

$ sudo systemctl start guacd
$ sudo systemctl enable guacd
$ sudo systemctl status guacd

8. Tomcat-server er et krav, da den vil blive brugt til at servere Guacamole-klientindholdet til brugere, der opretter forbindelse til serveren via en browser. Kør derfor følgende kommando for at få Tomcat installeret:

$ sudo apt install tomcat9 tomcat9-admin tomcat9-common tomcat9-user

9. Efter installationen skal Tomcat-serveren være i gang. Du kan bekræfte serverens status som vist:

$ sudo systemctl status tomcat

10. Hvis Tomcat ikke kører, skal du starte og aktivere den ved opstart:

$ sudo systemctl start tomcat
$ sudo systemctl enable tomcat

11. Som standard kører Tomcat på port 8080, og hvis UFW kører, skal du tillade denne port som vist:

$ sudo ufw allow 8080/tcp
$ sudo ufw reload

12. Når Tomcat-serveren er installeret, fortsætter vi med at installere Guacamole-klienten, som er en Java-baseret webapplikation, der giver brugerne mulighed for at oprette forbindelse til serveren.

Først opretter vi en konfigurationsmappe som vist.

$ sudo mkdir /etc/guacamole

13. Vi skal downloade binær Guacamole-klient til kataloget/etc/guacamole ved hjælp af kommandoen som vist.

$ sudo wget https://downloads.apache.org/guacamole/1.2.0/binary/guacamole-1.2.0.war -O /etc/guacamole/guacamole.war

14. Når du er downloadet, skal du oprette et symbolsk link til Tomcat WebApps-biblioteket som vist.

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

15. For at implementere webappen skal du genstarte både Tomcat-serveren og Guacamole-dæmonen.

$ sudo systemctl restart tomcat9
$ sudo systemctl restart guacd

Der er 2 store konfigurationsfiler forbundet med Guacamole; filen/etc/guacamole og /etc/guacamole/guacamole.properties, som bruges af Guacamole, og dens udvidelser.

16. Før vi fortsætter, skal vi oprette mapper til udvidelser og biblioteker.

$ sudo mkdir /etc/guacamole/{extensions,lib}

17. Dernæst skal du konfigurere miljøvariablen til hjemmekataloget og føje den til konfigurationsfilen/etc/default/tomcat9.

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

18. For at bestemme hvordan Guacamole opretter forbindelse til Guacamole-dæmonen - guacd - opretter vi guacamole.properties-filen som vist.

$ sudo vim /etc/guacamole/guacamole.properties

Tilføj indholdet nedenfor, og gem filen.

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

19. Dernæst opretter vi filen user-mapping.xml, der definerer de brugere, der kan oprette forbindelse og logge ind på Guacamole via webgrænsefladen i en browser.

Før vi gør det, skal vi generere en hashadgangskode til loginbrugeren som vist. Sørg for at udskifte din stærke adgangskode med din egen adgangskode.

$ echo -n yourStrongPassword | openssl md5

Du burde få noget som dette.

(stdin)= efd7ff06c71f155a2f07fbb23d69609

Kopier den hashede adgangskode, og gem den et eller andet sted, da du har brug for dette i filen user-mapping.xml.

20. Opret nu filen user-mapping.xml.

$ sudo vim /etc/guacamole/user-mapping.xml

Indsæt indholdet nedenfor.

<user-mapping>
    <authorize 
            username="tecmint"
            password="efd7ff06c71f155a2f07fbb23d69609"
            encoding="md5">

        <connection name="Ubuntu20.04-Focal-Fossa>
            <protocol>ssh</protocol>
            <param name="hostname">173.82.187.242</param>
            <param name="port">22</param>
            <param name="username">root</param>
        </connection>
        <connection name="Windows Server">
            <protocol>rdp</protocol>
            <param name="hostname">173.82.187.22</param>
            <param name="port">3389</param>
        </connection>
    </authorize>
</user-mapping>

Vi har defineret to forbindelsesprofiler, der giver dig mulighed for at oprette forbindelse til 2 eksterne systemer, der er online:

  • Ubuntu 20.04 Server – IP: 173.82.187.242 via SSH protocol
  • Windows Server – IP: 173.82.187.22 via RDP protocol

21. For at foretage ændringerne skal du genstarte Tomcat-serveren og Guacamole:

$ sudo systemctl restart tomcat9
$ sudo systemctl restart guacd

Til dette tidspunkt er Guacamole-serveren og klienten konfigureret. Lad os nu få adgang til Guacamole web-UI ved hjælp af browseren.

22. For at få adgang til Guacamole-webgrænsefladen skal du åbne din browser og gennemse din servers adresse som vist:

http://server-ip:8080/guacamole

23. Log ind med de legitimationsoplysninger, du har angivet i filen user-mapping.xml. Når du logger ind, finder du de serverforbindelser, du definerede i filen, der er angivet på knappen under sektionen ALLE FORBINDELSER.

24. For at få adgang til Ubuntu 20.04 LTS-serveren skal du klikke på forbindelsen og dette initierer en SSH-forbindelse til den eksterne Ubuntu-server. Du bliver bedt om adgangskoden, og når du først har indtastet den og trykket på ENTER, vil du være logget ind på fjernsystemet som vist.

For Windows-servermaskinen skal du klikke på den respektive serverforbindelse og angive adgangskoden til at logge ind på serveren via RDP.

Og dette afslutter vores guide, hvor vi viste dig, hvordan du installerer og konfigurerer Guacamole på Ubuntu 20.04 LTS.