Guacamole ist ein kostenloses, quelloffenes und webbasiertes Remote-Desktop-Kontrollfeld, das zur Verwaltung von Linux- und Windows-Systemen über den Webbrowser verwendet wird. Es unterstützt Standardprotokolle wie VNC, RDP, SSH und Kubernetes, und Sie müssen keine Software auf dem Client-Computer installieren. Es unterstützt die Zwischenablage, die Dateiübertragung über SFTP und ermöglicht Ihnen die Verwaltung mehrerer Remote-Desktop-Sitzungen.
In diesem Tutorial zeigen wir Ihnen, wie Sie den Guacamole-Remote-Desktop-Client auf einem Ubuntu 20.04-Server installieren und konfigurieren.
Voraussetzungen
- Ein Server mit Ubuntu 20.04 und mindestens 2 GB RAM.
- Ein Root-Passwort wird auf dem Server konfiguriert.
Erste Schritte
Zuerst müssen Sie Ihr System auf die neueste stabile Version aktualisieren. Sie können dies tun, indem Sie alle Systempakete mit dem folgenden Befehl aktualisieren:
apt-get update -y
Sobald Ihr System aktualisiert ist, starten Sie Ihr System neu, um die Änderungen zu übernehmen.
Erforderliche Abhängigkeiten installieren
Zuerst müssen Sie einige Abhängigkeiten auf Ihrem Server installieren, um die Guacamole aus dem Quellcode zu kompilieren. Sie können alle mit dem folgenden Befehl installieren:
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
Sobald alle Abhängigkeiten installiert sind, können Sie mit dem nächsten Schritt fortfahren.
Tomcat-Server installieren
Guacamole verwendet Tomcat, um Guacamole-Client-Inhalte für Benutzer bereitzustellen, die sich über den Webbrowser mit dem Guacamole-Server verbinden. Der Tomcat-Server muss also auf Ihrem Server installiert sein. Wenn es nicht installiert ist, können Sie es mit dem folgenden Befehl installieren:
apt-get install tomcat9 tomcat9-admin tomcat9-common tomcat9-user -y
Starten Sie nach der Installation des Tomcat-Servers den Tomcat-Dienst und ermöglichen Sie ihm, beim Systemneustart mit dem folgenden Befehl zu starten:
systemctl start tomcat9
systemctl enable tomcat9
Sie können den Status des Tomcat-Dienstes auch mit dem folgenden Befehl überprüfen:
Systemctl-Status Tomcat9
Sie sollten die folgende Ausgabe erhalten:
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Installieren Sie Guacamole
Standardmäßig ist das Guacamole-Paket nicht im Standard-Repository von Ubuntu 20.04 verfügbar. Sie müssen es also aus den Quellen kompilieren.
Laden Sie zunächst die neueste Version von Guacamole von der Apache-Website mit dem folgenden Befehl herunter:
wget https://downloads.apache.org/guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz
Sobald der Download abgeschlossen ist, extrahieren Sie die heruntergeladene Datei mit dem folgenden Befehl:
tar -xvzf guacamole-server-1.1.0.tar.gz
Als nächstes ändern Sie das Verzeichnis in das extrahierte Verzeichnis und führen Sie das Konfigurationsskript aus, um zu prüfen, ob eine erforderliche Abhängigkeit fehlt oder nicht:
cd guacamole-server-1.1.0
./configure --with-init-dir=/etc/init.d
Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe sehen:
freerdp2 ............ ja pango ............... ja libavcodec .......... ja libavutil ... ........ ja libssh2 ............. ja libssl .............. ja libswscale ......... .ja libtelnet ........... ja libVNCServer ........ ja libvorbis ........... ja libpulse ........... .nein libwebsockets ....... nein libwebp ............. ja wsock32 ............. nein Protokollunterstützung:Kubernetes ....nein RDP ........... ja SSH ........... ja Telnet ........ ja VNC ........... ja Dienste / tools:guacd ...... ja guacenc .... ja guaclog .... ja FreeRDP-Plugins:/usr/lib/x86_64-linux-gnu/freerdp2 Init-Skripte:/etc/init.d Systemd-Units:noGeben Sie "make" ein, um den Guacamole-Server zu kompilieren.
Kompilieren und installieren Sie jetzt Guacamole Server, indem Sie den folgenden Befehl ausführen:
make
make install
Führen Sie als Nächstes den folgenden Befehl aus, um den Cache Ihres Systems mit installierten Bibliotheken zu aktualisieren:
ldconfig
Als nächstes aktivieren und starten Sie den Guacamole-Dienst mit dem folgenden Befehl
systemctl enable guacd
systemctl start guacd
Sie können jetzt den Status des Guacamole-Dienstes mit dem folgenden Befehl überprüfen:
systemctl status guacd
Sie sollten die folgende Ausgabe erhalten:
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Installieren Sie den Guacamole-Client
Als nächstes müssen Sie den Guacamole-Client auf Ihrem Server installieren. Der Guacamole-Client ist in Java geschrieben und plattformübergreifend. Dies bildet die endgültige HTML5-Anwendung, die Ihnen präsentiert wird.
Laden Sie zuerst die Guacamole-Binärdatei mit dem folgenden Befehl herunter:
wget https://mirrors.estointernet.in/apache/guacamole/1.1.0/binary/guacamole-1.1.0.war
Nachdem Sie die Guacamole-Binärdatei heruntergeladen haben, kopieren Sie sie mit dem folgenden Befehl in das Verzeichnis /etc/guacamole:
mkdir /etc/guacamole
mv guacamole-1.1.0.war /etc/guacamole/guacamole.war
Erstellen Sie als Nächstes mit dem folgenden Befehl einen symbolischen Link des Guacamole-Clients zum Tomcat-Webapps-Verzeichnis:
ln -s /etc/guacamole/guacamole.war /var/lib/tomcat9/webapps/
Starten Sie abschließend den Tomcat- und Guacamole-Dienst neu, um die neue Webanwendung bereitzustellen:
systemctl restart tomcat9
systemctl restart guacd
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Guacomole konfigurieren
Als nächstes müssen Sie Benutzer und Verbindungen konfigurieren, damit Guacamole richtig funktioniert.
Erstellen Sie zunächst eine Guacamole-Hauptkonfigurationsdatei mit dem Namen guacamole.properties.
nano /etc/guacamole/guacamole.properties
Fügen Sie die folgenden Zeilen hinzu:
guacd-hostname:localhostguacd-port:4822user-mapping:/etc/guacamole/user-mapping.xml
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Als nächstes müssen Sie Verzeichnisse für Bibliothek und Erweiterung erstellen. Sie können sie mit dem folgenden Befehl erstellen:
mkdir /etc/guacamole/{extensions,lib}
Legen Sie als Nächstes die Umgebungsvariable des Guacamole-Home-Verzeichnisses fest und fügen Sie sie der Konfigurationsdatei /etc/default/tomcat9 hinzu.
echo "GUACAMOLE_HOME=/etc/guacamole">> /etc/default/tomcat9
Als Nächstes müssen Sie eine Datei namens user-mapping.xml erstellen, um den Benutzer zu definieren, dem der Zugriff auf die Guacamole-Web-UI erlaubt ist.
Generieren Sie vor dem Erstellen mit dem folgenden Befehl einen md5-Hash für das Passwort:
echo -n Ihr sicheres Passwort | openssl md5
Sie sollten die folgende Ausgabe sehen:
(stdin)=55b38b03e7587a45fd886977842ff9b8
Hinweis :Merken Sie sich das obige md5-Passwort. Sie müssen dies in der Datei user-mapping.xml definieren.
Als nächstes erstellen Sie eine neue user-mapping.xml mit dem folgenden Befehl:
nano /etc/guacamole/user-mapping.xml
ssh 192.168.10.50 22 rootrdp 192.168.10.51 3389
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Wo:
- 192.168.10.50 ist die IP-Adresse des entfernten Ubuntu-Servers.
- 192.168.10.51 ist die IP-Adresse des entfernten Windows-Servers.
Starten Sie als Nächstes den Tomcat- und Guacamole-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart tomcat9
systemctl restart guacd
Zu diesem Zeitpunkt sind der Guacamole-Server und -Client installiert und konfiguriert.
Greifen Sie auf die Guacamole-Webschnittstelle zu
Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://your-server-ip:8080/guacamole auf die Guacamole-Weboberfläche zu. Sie werden zur Anmeldeseite von Guacamole weitergeleitet:
Geben Sie den Benutzernamen und das Passwort ein, die Sie in der user-mapping.xml definiert haben Datei und klicken Sie auf Anmelden Taste. Sie sollten das Guacamole-Dashboard auf der folgenden Seite sehen:
Klicken Sie nun auf den Ubuntu20.04-Server um den Remote-Server über das SSH-Protokoll zu verbinden. Sie sollten den Anmeldebildschirm des Ubuntu-Servers wie unten gezeigt sehen:
Geben Sie das Root-Passwort Ihres Ubuntu-Servers ein und drücken Sie Enter . Sie werden wie unten gezeigt beim Ubuntu-Server angemeldet:
Nginx für Guacamole konfigurieren
Es wird empfohlen, Nginx als Reverse-Proxy zu konfigurieren, um über den Port 80 auf Guacamole zuzugreifen.
Installieren Sie zuerst den Nginx-Webserver mit dem folgenden Befehl:
apt-get install nginx -y
Erstellen Sie nach der Installation von Nginx eine neue Konfigurationsdatei für den virtuellen Nginx-Host:
nano /etc/nginx/sites-available/guacamole.conf
Fügen Sie die folgenden Zeilen hinzu:
server {listen 80; server_name ihre-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 aus; 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 Verbindung $http_connection; Proxy-Cookie-Pfad /guacamole/ /; }}
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Aktivieren Sie dann den virtuellen Nginx-Host mit dem folgenden Befehl:
ln -s /etc/nginx/sites-available/guacamole.conf /etc/nginx/sites-enabled/
Starten Sie als Nächstes den Nginx-Dienst neu, um die Konfigurationsänderungen zu übernehmen:
systemctl startet nginx neu
Jetzt können Sie über die URL http://your-server-ip.
auf Ihre Guacamole zugreifenSchlussfolgerung
Herzliche Glückwünsche! Sie haben den Guacamole-Remote-Desktop-Client erfolgreich auf dem Ubuntu 20.04-Server installiert und konfiguriert. Sie können Ihrem Guacamole jetzt weitere RDP- oder VNC-Verbindungen hinzufügen und diese über die webbasierte Oberfläche verwalten.