Wenn Sie ein Systemadministrator und für die Verwaltung von Windows- und Linux-Rechnern verantwortlich sind, benötigen Sie möglicherweise häufig Remote-Desktop-Client-Software, um sie zu verwalten. Apache Guacamole ist eine kostenlose, webbasierte Open-Source-Remote-Desktop-Anwendung, mit der Sie über einen Webbrowser auf Ihre Desktop-Computer zugreifen können. Es ist eine clientlose HTML5-Webanwendung, die Standardprotokolle wie VNC, RDP und SSH unterstützt. Sie müssen keine Client-Software oder Plugins auf dem Server installieren. Mit Guacamole können Sie mit demselben Browserfenster problemlos zwischen mehreren Remote-Desktop-Computern wechseln.
In diesem Tutorial zeigen wir, wie Sie das Apache Guacamole Remote Desktop Gateway auf einem Ubuntu 18.04 LTS-Server installieren.
Voraussetzungen
- Ein Server mit Ubuntu 18.04.
- Ein Root-Passwort wird auf Ihrem Server eingerichtet.
Erste Schritte
Bevor Sie beginnen, sollten Sie das Paket Ihres Systems auf die neueste Version aktualisieren. Sie können sie mit dem folgenden Befehl aktualisieren:
apt-get update -y
apt-get upgrade -y
Sobald alle Pakete aktualisiert sind, starten Sie Ihr System neu, um die Änderungen zu übernehmen.
Erforderliche Abhängigkeiten installieren
Bevor Sie beginnen, müssen Sie einige Abhängigkeiten in Ihrem System installieren, um Guacamole aus der Quelle zu kompilieren. Sie können alle mit dem folgenden Befehl installieren:
apt-get install gcc-6 g++-6 libossp-uuid-dev libavcodec-dev libpango1.0-dev libssh2-1-dev libcairo2-dev libjpeg-turbo8-dev libpng-dev libavutil-dev libswscale-dev libfreerdp- dev libvncserver-dev libssl-dev libvorbis-dev libwebp-dev -y
Sobald alle Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.
Tomcat-Server installieren
Als Nächstes müssen Sie Tomcat auf Ihrem Server installieren, um Guacamole-Client-Inhalte für Benutzer bereitzustellen, die sich über den Webbrowser mit dem Guacamole-Server verbinden. Sie können es mit dem folgenden Befehl installieren:
apt-get install tomcat8 tomcat8-admin tomcat8-common tomcat8-user -y
Sobald Tomcat installiert ist, können Sie mit dem nächsten Schritt fortfahren.
Installieren Sie den Guacamole-Server
Guacamole ist in zwei Komponenten unterteilt, guacamole-server, der den guacd-Proxy und zugehörige Bibliotheken bereitstellt, und guacamole-client, der den Client bereitstellt, der von Ihrem Tomcat-Server bedient werden soll. Standardmäßig ist Guacamole Server nicht im Standard-Repository von Ubuntu 18.04 verfügbar. Sie müssen es also aus der Quelle erstellen.
Laden Sie zunächst die neueste Version der Guacamole-Quelle mit dem folgenden Befehl herunter:
wget http://apachemirror.wuchna.com/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 konfigurieren es mit dem folgenden Befehl:
cd guacamole-server-1.1.0
./configure --with-init-dir=/etc/init.d
Sobald die Konfiguration erfolgreich ist, sollten Sie die folgende Ausgabe erhalten:
Bibliotheksstatus:freerdp2 ............ nein pango ............... ja libavcodec .......... ja libavutil ........... ja libssh2 ............. ja libssl .............. ja libswscale ...... .... ja libtelnet ........... nein libVNCServer ........ ja libvorbis ........... ja libpulse ........ .... nein libwebsockets ....... nein libwebp ............. ja wsock32 ............. nein Protokollunterstützung:Kubernetes .. .. kein RDP ........... kein SSH ........... ja Telnet ........ kein VNC .......... .ja Dienste / Tools:guacd ...... ja guacenc .... ja guaclog .... ja FreeRDP-Plugins:nein Init-Skripte:/etc/init.d Systemd-Units:neinType "make", um Guacamole zu kompilieren- Server.
Führen Sie als Nächstes den folgenden Befehl aus, um Guacamole-Server zu kompilieren:
machen
Sobald die Kompilierung erfolgreich abgeschlossen ist, können Sie es mit dem folgenden Befehl installieren:
installieren
Führen Sie nach der Installation den folgenden Befehl aus, um den Cache Ihres Systems mit installierten Bibliotheken zu aktualisieren
ldconfig
Aktivieren Sie als Nächstes den Guacamole-Dienst so, dass er beim Booten startet, und starten Sie ihn mit dem folgenden Befehl:
systemctl enable guacd
systemctl start guacd
Sie können den Status des Guacamole-Dienstes auch mit dem folgenden Befehl überprüfen:
systemctl status guacd
Sie sollten die folgende Ausgabe erhalten:
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
Sobald der Download abgeschlossen ist, kopieren Sie ihn 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/tomcat8/webapps/
Starten Sie abschließend den Tomcat- und Guacamole-Dienst neu, um die neue Webanwendung bereitzustellen
systemctl restart tomcat8
systemctl restart guacd
Guacomole konfigurieren
Nach der Installation von Guacamole müssen Sie Benutzer und Verbindungen konfigurieren, damit Guacamole ordnungsgemäß 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. Erstellen Sie dann mit dem folgenden Befehl ein Verzeichnis für Bibliotheken und Erweiterungen:
mkdir /etc/guacamole/{extensions,lib}
Als nächstes wird die Umgebungsvariable des Guacamole-Home-Verzeichnisses in die Standardkonfigurationsdatei von Tomcat8 eingefügt.
echo "GUACAMOLE_HOME=/etc/guacamole">> /etc/default/tomcat8
Die Standardauthentifizierungsmethode von Guacamole liest alle Benutzer und Verbindungen aus einer einzigen Datei namens user-mapping.xml. Diese Datei definiert den Benutzer, der auf die Guacamole-Web-Benutzeroberfläche zugreifen darf, die Server, zu denen eine Verbindung hergestellt werden soll, und die Verbindungsmethode.
Generieren Sie zuerst einen md5-Hash für das Passwort mit dem folgenden Befehl:
echo -n Ihr sicheres Passwort | openssl md5
Sie sollten die folgende Ausgabe erhalten:
(stdin)=55b38b03e7587a45fd886977842ff9b8
Hinweis:Merken Sie sich diesen Hash, Sie müssen ihn in der Datei user-mapping.xml angeben.
Als nächstes erstellen Sie eine neue user-mapping.xml mit dem folgenden Befehl:
nano /etc/guacamole/user-mapping.xml
Fügen Sie die folgenden Zeilen hinzu:
ssh 192.168.0.150 22 rootrdp 192.168.0.100 3389
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Tomcat- und Guacamole-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart tomcat8
systemctl restart guacd
Greifen Sie auf die Guacamole-Webschnittstelle zu
An diesem Punkt wird der Guacamole-Server installiert und konfiguriert. Jetzt ist es an der Zeit, über einen Webbrowser darauf zuzugreifen.
Öffnen Sie Ihren Webbrowser und geben Sie die URL http://your-server-ip:8080/guacamole/ ein. Sie werden zur Anmeldeseite von Apache Guacamole weitergeleitet:
Geben Sie den Benutzernamen und das Passwort ein, die Sie in der Datei user-mapping.xml angegeben haben, und klicken Sie auf Anmelden Taste. Sie sollten das Standard-Dashboard von Apache Guacamole mit allen Verbindungen sehen:
Klicken Sie nun auf den Ubuntu-Server und Sie werden aufgefordert, das Passwort für den Benutzer einzugeben, den Sie in der user-mapping.xml wie unten gezeigt definiert haben:
Geben Sie das Passwort Ihres Systembenutzers ein und drücken Sie Enter . Sie werden wie unten gezeigt beim Ubuntu-Server angemeldet:
Konfigurieren Sie Nginx als Reverse-Proxy für Guacamole
Als nächstes müssen Sie Nginx als Reverse-Proxy konfigurieren, um auf das Guacamole-Dashboard zuzugreifen. Installieren Sie zuerst den Nginx-Webserver mit dem folgenden Befehl:
apt-get install nginx -y
Erstellen Sie nach der Installation 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/
Überprüfen Sie als Nächstes Nginx mit dem folgenden Befehl auf Syntaxfehler:
nginx -t
Sie sollten die folgende Ausgabe erhalten:
nginx:Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist oknginx:Der Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich
Starten Sie abschließend den Nginx-Dienst neu, um die Änderungen zu übernehmen:
systemctl startet nginx neu
Jetzt können Sie über die URL http://your-server-ip.
auf die Guacamole-Weboberfläche zugreifenSchlussfolgerung
Herzliche Glückwünsche! Sie haben Guacamole Remote Desktop Gateway erfolgreich auf dem Ubuntu 18.04-Server installiert. Sie können jetzt einen weiteren Remote-Server hinzufügen, den Sie über einen Webbrowser remote verwalten möchten.