Zoeken op website

Guacamole installeren om overal in Ubuntu toegang te krijgen tot uw computers


Apache Guacamole is een clientloze open-source webgebaseerde gateway die externe toegang biedt tot servers en zelfs client-pc's via een webbrowser met behulp van protocollen zoals SSH, VNC en RDP.

Apache Guacamole bestaat uit 2 hoofdcomponenten:

  • Gucamole Server: Deze biedt alle server-side en native componenten die Guacamole nodig heeft om verbinding te maken met externe desktops.
  • Guacamole Client: Dit is een HTML 5-webapplicatie en een client waarmee u verbinding kunt maken met uw externe servers/desktops. Dit wordt ondersteund door de Tomcat-server.

In dit artikel leiden we u door de installatie van Apache Guacamole op Ubuntu 20.04.

Vereisten

Zorg ervoor dat u over het volgende beschikt voordat u begint:

  • Een exemplaar van Ubuntu 20.04 LTS met sudo-gebruiker geconfigureerd.
  • Minimaal 2 GB RAM

Laten we ons er nu in verdiepen en Guacamole installeren op Ubuntu 20.04 LTS.

Op deze pagina

  • Hoe Apache Guacamole op Ubuntu Server te installeren
  • Hoe Tomcat op Ubuntu Server te installeren
  • Hoe Guacamole-client in Ubuntu te installeren
  • Hoe Guacamole-client in Ubuntu te configureren
  • Hoe Guacamole-serververbindingen in Ubuntu te configureren
  • Toegang krijgen tot de externe Ubuntu-server via de Guacamole Web UI

Stap 1: Apache Guacamole installeren in Ubuntu Server

1. De installatie van Apache Guacamole gebeurt door het compileren van de broncode. Om dit te bereiken zijn een aantal bouwtools vereist als voorwaarde. Voer daarom de volgende apt-opdracht uit:

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. Zodra de installatie van de bouwtools is voltooid, gaat u verder en downloadt u het nieuwste tarball-bronbestand van de releasepagina van Guacamole. Op het moment dat deze handleiding werd geschreven, was de nieuwste release Guacamole versie 1.2.0. Om het nieuwste tarball-bestand te downloaden, voert u gewoon de onderstaande wget-opdracht uit.

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

3. Pak vervolgens het Guacamole-tarballbestand uit en navigeer naar de niet-gecomprimeerde map.

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

4. Voer daarna het configuratiescript uit om te verifiëren of er ontbrekende afhankelijkheden zijn. Dit duurt meestal ongeveer twee minuten, dus wees geduldig terwijl het script de afhankelijkheidscontrole uitvoert. Er wordt een spervuur aan uitvoer weergegeven, inclusief details over de serverversie, zoals weergegeven.

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

5. Om Guacamole te compileren en te installeren, voert u de onderstaande opdrachten één voor één uit.

sudo make
sudo make install

6. Voer vervolgens de opdracht ldconfig uit om relevante links en cache naar de meest recent gedeelde bibliotheken in de Guacamole-serverdirectory te maken.

sudo ldconfig

7. Om de Guacamole server draaiende te krijgen, starten we de Guacamole Daemon – guacamole – en schakelen deze in opstarten en controleer de status zoals weergegeven.

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

Stap 2: Tomcat installeren op Ubuntu Server

8. Tomcat-server is een vereiste omdat deze wordt gebruikt om de Guacamole-clientinhoud weer te geven aan gebruikers die via een browser verbinding maken met de server. Voer daarom de volgende opdracht uit om Tomcat geïnstalleerd te krijgen:

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

9. Na installatie zou de Tomcat-server actief moeten zijn. U kunt de status van de server bevestigen zoals weergegeven:

sudo systemctl status tomcat

10. Als Tomcat niet actief is, start het dan en schakel het in tijdens het opstarten:

sudo systemctl start tomcat
sudo systemctl enable tomcat

11. Standaard draait Tomcat op poort 8080 en als je de UFW draait, moet je dit toestaan deze poort zoals weergegeven:

sudo ufw allow 8080/tcp
sudo ufw reload

Stap 3: Guacamole-client installeren in Ubuntu

12. Nu de Tomcat-server is geïnstalleerd, gaan we verder met het installeren van de Guacamole-client, een op Java gebaseerde webapplicatie waarmee gebruikers verbinding kunnen maken naar de server.

Eerst zullen we een configuratiemap maken, zoals weergegeven.

sudo mkdir /etc/guacamole

13. We gaan het binaire bestand Guacamole-client downloaden naar de map /etc/guacamole met behulp van de opdracht zoals weergegeven.

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

14. Maak na het downloaden een symbolische link naar de map Tomcat WebApps, zoals weergegeven.

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

15. Om de webapp te implementeren, start u zowel de Tomcat-server als de Guacamole-daemon opnieuw op.

sudo systemctl restart tomcat9
sudo systemctl restart guacd

Stap 4: Guacamole-client configureren in Ubuntu

Er zijn twee belangrijke configuratiebestanden gekoppeld aan Guacamole; het /etc/guacamole en het /etc/guacamole/guacamole.properties bestand dat wordt gebruikt door Guacamole en zijn extensies.

16. Voordat we verder gaan, moeten we mappen maken voor de extensies en bibliotheken.

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

17. Configureer vervolgens de omgevingsvariabele van de thuismap en voeg deze toe aan het /etc/default/tomcat9 configuratiebestand.

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

Stap 5: Guacamole-serververbindingen configureren in Ubuntu

18. Om te bepalen hoe Guacamole verbinding maakt met de Guacamole daemon – guacd – zullen we de guacamole maken .properties-bestand zoals weergegeven.

sudo vim /etc/guacamole/guacamole.properties

Voeg de onderstaande inhoud toe en sla het bestand op.

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

19. Vervolgens maken we het bestand user-mapping.xml dat de gebruikers definieert die verbinding kunnen maken en kunnen inloggen op Guacamole via de webinterface van een browser.

Voordat we dit doen, moeten we een gehasht wachtwoord genereren voor de ingelogde gebruiker, zoals weergegeven. Zorg ervoor dat u uw sterke wachtwoord vervangt door uw eigen wachtwoord.

echo -n yourStrongPassword | openssl md5

Je zou zoiets als dit moeten krijgen.

(stdin)= efd7ff06c71f155a2f07fbb23d69609

Kopieer het gehashte wachtwoord en sla het ergens op. U heeft dit nodig in het bestand user-mapping.xml.

20. Maak nu het bestand user-mapping.xml.

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

Plak de inhoud hieronder.

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

We hebben twee verbindingsprofielen gedefinieerd waarmee u verbinding kunt maken met 2 externe systemen die online zijn:

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

21. Om de wijzigingen door te voeren, start u de Tomcat-server en Guacamole opnieuw op:

sudo systemctl restart tomcat9
sudo systemctl restart guacd

Tot nu toe zijn de Guacamole server en client geconfigureerd. Laten we nu de webinterface van Gucamole openen via de browser.

Stap 6: Toegang tot de Guacamole Web UI

22. Om toegang te krijgen tot de webinterface van Guacamole, opent u uw browser en bladert u door het adres van uw server, zoals weergegeven:

http://server-ip:8080/guacamole

23. Log in met de inloggegevens die u heeft opgegeven in het bestand user-mapping.xml. Wanneer u inlogt, vindt u de serververbindingen die u heeft gedefinieerd in het bestand onder de knop onder de sectie ALLE VERBINDINGEN.

24. Om toegang te krijgen tot de Ubuntu 20.04 LTS-server, klikt u op de verbinding. Hierdoor wordt een SSH-verbinding met de externe Ubuntu-server geïnitieerd. U wordt om het wachtwoord gevraagd en zodra u het invoert en op ENTER drukt, wordt u ingelogd op het externe systeem, zoals weergegeven.

Voor de Windows-servermachine klikt u op de betreffende serververbinding en geeft u het wachtwoord op om via RDP op de server in te loggen.

En hiermee sluiten we onze gids af, waarin we u lieten zien hoe u Guacamole op Ubuntu 20.04 LTS installeert en configureert.