Website-Suche

Installieren Sie Guacamole für Remote-Linux/Windows-Zugriff in Ubuntu


Als Systemadministrator arbeiten Sie möglicherweise (heute oder in Zukunft) in einer Umgebung, in der Windows und Linux nebeneinander existieren.

Es ist kein Geheimnis, dass einige große Unternehmen einige ihrer Produktionsdienste lieber auf Windows-Rechnern und andere auf Linux-Servern ausführen müssen (oder müssen).

Wenn das bei Ihnen der Fall ist, werden Sie diesen Leitfaden mit offenen Armen empfangen (ansonsten machen Sie weiter und stellen Sie sicher, dass Sie ihn zumindest zu Ihren Lesezeichen hinzufügen).

In diesem Artikel stellen wir Ihnen guacamole vor, ein Remote-Desktop-Gateway auf Basis von Tomcat, das nur auf einem zentralen Server installiert werden muss.

Guacamole bietet ein webbasiertes Bedienfeld, mit dem Sie schnell von einem Computer zum anderen wechseln können – und das alles im selben Webbrowserfenster.

Testumgebung

In diesem Artikel haben wir die folgenden Maschinen verwendet. Wir werden Guacamole in einer Ubuntu-Box installieren und damit über das Remote Desktop Protocol auf eine Windows 10-Box zugreifen ( RDP) und eine RHEL-Box mit SSH-Netzwerkprotokoll:

Guacamole server: Ubuntu 20.04 - IP 192.168.0.100
Remote SSH box: RHEL 8 – IP 192.168.0.18
Remote desktop box: Windows 10 – IP 192.168.0.19

Das heißt, fangen wir an.

Guacamole-Server unter Ubuntu installieren

1. Bevor Sie guacamole installieren, müssen Sie sich zunächst um seine Abhängigkeiten kümmern.

sudo apt update
sudo apt install -y gcc vim curl wget g++ libcairo2-dev libjpeg-turbo8-dev libpng-dev \
libtool-bin libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev build-essential \
libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev freerdp2-dev libwebsockets-dev \
libssl-dev libvorbis-dev libwebp-dev tomcat9 tomcat9-admin tomcat9-user

2. Laden Sie den Tarball herunter und extrahieren Sie ihn. Seit Anfang Februar 2021 ist die neueste Version von Guacamole 1.3.0. Sie können auf der Guacamole-Downloadseite nachsehen, welche Version jeweils aktuell ist.

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

3. Kompilieren Sie die Software.

cd guacamole-server-1.3.0/
./configure

Wie erwartet überprüft configure Ihr System auf das Vorhandensein der erforderlichen Abhängigkeiten und auf unterstützte Kommunikationsprotokolle (wie im hervorgehobenen Quadrat Remote Desktop Protocol zu sehen ist). > (RDP) und SSH werden von den zuvor installierten Abhängigkeiten unterstützt).

Wenn alles wie erwartet verläuft, sollten Sie Folgendes sehen, wenn der Vorgang abgeschlossen ist (andernfalls stellen Sie sicher, dass Sie alle erforderlichen Abhängigkeiten installiert haben):

Wie die letzte Zeile im obigen Bild andeutet, führen Sie make und make install aus, um das Programm zu kompilieren:

make 
sudo make install

4. Aktualisieren Sie den Cache der installierten Bibliotheken.

sudo ldconfig 

und drücken Sie die Eingabetaste.

Guacamole-Client in Ubuntu installieren

Nach Abschluss der oben genannten Schritte ist der Guacamole-Server installiert. Die folgenden Anweisungen helfen Ihnen nun bei der Einrichtung von guacd (dem Proxy-Daemon, der Javascript mit Kommunikationsprotokollen wie RDP oder SSH integriert) und guacamole.war (dem Client). die Komponente, aus der die endgültige HTML5-Anwendung besteht, die Ihnen präsentiert wird.

Beachten Sie, dass beide Komponenten (Guacamole-Server und Client) auf demselben Computer installiert werden müssen – es ist nicht erforderlich, einen sogenannten Client auf den gewünschten Computern zu installieren verbunden mit).

Um den Client herunterzuladen, gehen Sie folgendermaßen vor:

5. Laden Sie das Webanwendungsarchiv herunter und ändern Sie seinen Namen in guacamole.war.

Hinweis: Abhängig von Ihrer Distribution befindet sich das Tomcat-Bibliotheksverzeichnis möglicherweise unter /var/lib/tomcat.

cd /var/lib/tomcat9/
sudo wget https://dlcdn.apache.org/guacamole/1.3.0/binary/guacamole-1.3.0.war
sudo mv guacamole-1.3.0.war webapps/guacamole.war

6. Erstellen Sie die Konfigurationsdatei (/etc/guacamole/guacamole.properties). Diese Datei enthält die Anweisungen für Guacamole, um eine Verbindung zu guacd herzustellen:

sudo mkdir /etc/guacamole
sudo mkdir /usr/share/tomcat9/.guacamole
sudo nano /etc/guacamole/guacamole.properties

Fügen Sie den folgenden Inhalt in /etc/guacamole/guacamole.properties ein. Beachten Sie, dass wir auf eine Datei verweisen, die wir im nächsten Schritt erstellen werden (/etc/guacamole/user-mapping.xml):

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

Und erstellen Sie einen symbolischen Link, damit Tomcat die Datei lesen kann:

sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat9/.guacamole/

7. Guacamole verwendet die Datei user-mapping.xml. Erstellen Sie diese Datei, um zu definieren, welche Benutzer sich bei der Guacamole-Weboberfläche authentifizieren dürfen (zwischen <authorize>-Tags) und welche Verbindungen sie verwenden können (zwischen <connection>-Tags):

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

Die folgende Benutzerzuordnung gewährt einem Benutzer tecmint mit dem Passwort tecmint01 Zugriff auf die Guacamole-Weboberfläche. Dann müssen wir innerhalb der SSH-Verbindung einen gültigen Benutzernamen eingeben, um uns bei der RHEL-Box anzumelden (Sie werden aufgefordert, das entsprechende Passwort einzugeben, wenn Guacamole die Verbindung initiiert).

Im Fall der Windows 10-Box ist dies nicht erforderlich, da uns der Anmeldebildschirm über RDP angezeigt wird.

Um den MD5-Hash des Passworts tecmint01 zu erhalten, geben Sie den folgenden Befehl ein:

printf '%s' "tecmint01" | md5sum

Fügen Sie dann die Ausgabe des Befehls in das Passwortfeld innerhalb der <authorize>-Tags ein:

<user-mapping>
        <authorize 
                username="tecmint" 
                password="8383339b9c90775ac14693d8e620981f" 
                encoding="md5">
                <connection name="RHEL 8">
                        <protocol>ssh</protocol>
                        <param name="hostname">192.168.0.18</param>
                        <param name="port">22</param>
                        <param name="username">gacanepa</param>
                </connection>
                <connection name="Windows 10">
                        <protocol>rdp</protocol>
                        <param name="hostname">192.168.0.19</param>
                        <param name="port">3389</param>
                </connection>
        </authorize>
</user-mapping>

Wie bei allen Dateien, die vertrauliche Informationen enthalten, ist es wichtig, die Berechtigungen einzuschränken und den Eigentümer der Datei user-mapping.xml zu ändern:

sudo chmod 600 /etc/guacamole/user-mapping.xml
sudo chown tomcat:tomcat /etc/guacamole/user-mapping.xml

Starten Sie Tomcat und guacd.

sudo service tomcat9 start
sudo /usr/local/sbin/guacd &

Starten der Guacamole-Weboberfläche

8. Um auf die Guacamole-Weboberfläche zuzugreifen, starten Sie einen Browser und verweisen Sie auf http://server:8080/guacamole, wobei der Server der Hostname oder die IP-Adresse Ihres Servers ist Server (in unserem Fall http://192.168.0.100:8080/guacamole) und melden Sie sich mit den zuvor angegebenen Anmeldeinformationen an (Benutzername: tecmint, Passwort: tecmint01):

9. Nachdem Sie auf „Anmelden“ geklickt haben, werden Sie zur Verwaltungsoberfläche weitergeleitet, wo Sie die Liste der Verbindungen sehen, auf die Benutzer tecmint Zugriff hat, gemäß user- Mapping.xml:

10. Fahren Sie fort und klicken Sie auf das Feld RHEL 8, um sich als gacanepa (der in der Verbindungsdefinition angegebene Benutzername) anzumelden.

Beachten Sie, dass die Verbindungsquelle auf 192.168.0.100 (die IP des Guacamole-Servers) eingestellt ist, unabhängig von der IP-Adresse des Computers, den Sie zum Öffnen der Weboberfläche verwenden:

11. Wenn Sie die Verbindung schließen möchten, geben Sie exit ein und drücken Sie die Enter-Taste. Sie werden aufgefordert, zur Hauptoberfläche (Home) zurückzukehren, sich erneut zu verbinden oder sich von Guacamole abzumelden:

12. Jetzt ist es an der Zeit, die Remotedesktopverbindung mit Windows 10 auszuprobieren:

Glückwunsch! Jetzt können Sie über einen Webbrowser auf einen Windows 10-Computer und einen RHEL 8-Server zugreifen.

Zusammenfassung

In diesem Artikel haben wir erklärt, wie man Guacamole installiert und konfiguriert, um den Zugriff auf Remote-Rechner über RDP und SSH zu ermöglichen. Die offizielle Website bietet umfangreiche Dokumentation, die Ihnen bei der Einrichtung des Zugriffs über andere Protokolle wie VNC und andere Authentifizierungsmechanismen wie DB-basiertes … hilft.

Zögern Sie wie immer nicht, uns eine Nachricht zu schicken, wenn Sie Fragen oder Anregungen zu diesem Artikel haben. Wir freuen uns auch auf Ihre Erfolgsgeschichten.