Apache Guacamole ist eine clientlose Remote-Desktop-Lösung, die dir Zugriff auf deine Systeme über einen Webbrowser ermöglicht. In dieser Anleitung zeige ich dir, wie du Apache Guacamole auf einem Raspberry Pi installieren kannst, damit du von überall auf deine Geräte zugreifen kannst. In unserem Fall werden wir Apache Guacamole als Docker Container zu installieren.
Voraussetzungen
Bevor du mit der Installation beginnst, stelle sicher, dass die folgenden Anforderungen erfüllt sind:
- Ein Raspberry Pi (idealerweise ein Raspberry Pi 4 mit mindestens 4 GB RAM).
- Ein installiertes Betriebssystem (z. B. Raspberry Pi OS).
- Root-Zugriff auf den Raspberry Pi.
- Eine stabile Internetverbindung.
Schritt 1: Raspberry Pi aktualisieren
Zuerst solltest du sicherstellen, dass dein System auf dem neuesten Stand ist. Führe die folgenden Befehle aus:
sudo apt update
sudo apt upgrade -y
sudo apt update
: Aktualisiert die Paketlisten des Systems, um die neuesten Informationen über verfügbare Updates und Pakete aus den Repositories zu erhalten.sudo apt upgrade -y
: Installiert alle verfügbaren Updates für bereits installierte Pakete und stimmt automatisch allen Bestätigungen zu.
Schritt 2: Docker installieren
Bevor du Docker installierst, solltest du die folgenden Sicherheitsaspekte und Firewall-Inkompatibilitäten berücksichtigen:
- Wenn du ufw oder firewalld zur Verwaltung der Firewall-Einstellungen verwendest, solltest du beachten, dass diese Ports Ihre Firewall-Regeln umgehen, wenn du Container-Ports mit Docker freigibst. Weitere Informationen findest du unter Docker und ufw.
- Docker ist nur mit iptables-nft und iptables-legacy kompatibel. Firewall-Regeln, die mit nft erstellt wurden, werden auf einem System mit installiertem Docker nicht unterstützt. Stelle sicher, dass alle Firewall-Regelsätze, die du verwendest, mit iptables oder ip6tables erstellt wurden, und dass du sie zur DOCKER-USER-Kette hinzufügen, siehe Paketfilterung und Firewalls.
Bevor du die Docker-Engine zum ersten Mal auf einem neuen Host-Rechner installierst, musst du das Docker apt-Repository einrichten. Danach kannst du Docker über das Repository installieren und aktualisieren.
Richte das apt-Repository von Docker ein:
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/raspbian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/raspbian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Was macht dieser Befehl?
Dieser Befehl richtet die offizielle Docker-Repository für Raspbian ein, um Docker und verwandte Tools installieren zu können. Hier eine Erklärung Schritt für Schritt:
sudo apt-get update
Aktualisiert die Paketlisten, um sicherzustellen, dass das System über die neuesten Informationen zu verfügbaren Paketen verfügt.sudo apt-get install ca-certificates curl
Installiert die erforderlichen Tools und Zertifikate:ca-certificates
: Ermöglicht die sichere Kommunikation über HTTPS.curl
: Ein Werkzeug zum Herunterladen von Dateien aus dem Internet.
sudo install -m 0755 -d /etc/apt/keyrings
Erstellt ein Verzeichnis/etc/apt/keyrings
mit Berechtigungen, um darin Schlüssel sicher zu speichern.sudo curl -fsSL https://download.docker.com/linux/raspbian/gpg -o /etc/apt/keyrings/docker.asc
Lädt den GPG-Schlüssel von Docker herunter und speichert ihn in/etc/apt/keyrings/docker.asc
. Dieser Schlüssel wird benötigt, um die Authentizität von Docker-Paketen zu überprüfen.sudo chmod a+r /etc/apt/keyrings/docker.asc
Setzt die Berechtigung des Schlüssels so, dass alle Benutzer Lesezugriff darauf haben.- Repository hinzufügen
Der folgendeecho
-Befehl erstellt eine neue Datei (/etc/apt/sources.list.d/docker.list
), die die Docker-Repository enthält. Diese gibt an, wo Docker-Pakete heruntergeladen werden können. Die verwendete Architektur ($(dpkg --print-architecture)
) und der Raspbian-Version-Codename ($(. /etc/os-release && echo "$VERSION_CODENAME")
) werden automatisch erkannt. sudo apt-get update
Aktualisiert die Paketlisten erneut, damit die Pakete aus der neu hinzugefügten Docker-Repository verfügbar werden.
Ergebnis: Nach Ausführung dieses Befehls ist das System bereit, Docker-Pakete direkt aus der offiziellen Docker-Repository zu installieren.
Und dann kann mit folgendem Befehl Docker installiert werden:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Was macht dieser Befehl?
Dieser Befehl installiert Docker und seine wichtigsten Komponenten:
docker-ce
: Die Docker Community Edition, die eigentliche Docker-Engine, um Container auszuführen.docker-ce-cli
: Die Kommandozeilen-Tools für Docker, um Container zu verwalten.containerd.io
: Ein Laufzeitdienst, der von Docker verwendet wird, um Container zu starten und zu verwalten.docker-buildx-plugin
: Ein Plugin, das erweiterte Build-Funktionen bietet, z. B. für Multi-Plattform-Images.docker-compose-plugin
: Ein Plugin, um mitdocker compose
Anwendungen zu definieren und auszuführen, die aus mehreren Containern bestehen.
Zweck: Mit diesem Befehl wird ein vollständiges Docker-Setup installiert, um Container zu erstellen, zu verwalten und komplexe Container-Anwendungen auszuführen.
Nun ist Docker erfolgreich installiert.
Schritt 3: Guacamole auf Raspberry Pi installieren
Mit folgendem Befehl wird der Apache Guacamole Docker für Raspberry Pi heruntergeladen:
docker run \
-p 8080:8080 \
-v </path/to/config>:/config \
-v /etc/localtime:/etc/localtime:ro \
-e TZ="UTC" \
-e EXTENSIONS="auth-totp" \
flcontainers/guacamole
Ich persönlich empfehle die “auth-totp” Extension zu erweitern, die einen zweiten Faktor hinzufügt.
Was ist TOTP?
Ein TOTP 2FA steht für Time-based One-Time Password Two-Factor Authentication. Es handelt sich um ein Verfahren zur Zwei-Faktor-Authentifizierung (2FA), das zeitbasierte Einmalpasswörter verwendet, um die Sicherheit bei der Anmeldung an Anwendungen oder Diensten zu erhöhen. Hier sind die Hauptmerkmale:
Wie funktioniert TOTP 2FA?
- Gemeinsamer Schlüssel (Seed): Der Benutzer und der Server teilen sich einen geheimen Schlüssel, der bei der Einrichtung des TOTP generiert wird.
- Zeitbasierter Algorithmus: Das System verwendet die aktuelle Uhrzeit in Kombination mit dem geheimen Schlüssel, um ein Einmalpasswort zu erstellen.
- Dauer: Diese Einmalpasswörter sind typischerweise nur für einen kurzen Zeitraum (z. B. 30 Sekunden) gültig.
- Überprüfung: Der Server berechnet das Passwort für dieselbe Zeitspanne und vergleicht es mit dem vom Benutzer eingegebenen Code.
Typische Implementierungen
- TOTP-Codes werden häufig mit Authenticator-Apps wie Google Authenticator, Microsoft Authenticator, oder Authy generiert.
- Sie werden als sechs- bis achtstellige Zahlen angezeigt.
Vorteile
- Erhöhte Sicherheit: Selbst wenn das Passwort kompromittiert ist, ist der zweite Faktor notwendig.
- Offline-Funktionalität: Authenticator-Apps benötigen keine Internetverbindung, da sie zeitbasiert arbeiten.
Beispiel-Anwendungen
- Sicherer Login für Online-Konten (z. B. Google, GitHub, Banken).
- Authentifizierung bei VPNs, Servern oder Cloud-Diensten.
TOTP ist ein weit verbreiteter Standard, definiert in der RFC 6238.
Wenn der Docker Heruntergeladen und gestartet wurde kann man über die IP-Adresse des Raspberry Pis gefolgt von dem Port 8080 auf das Apache Guacamole Webinterface zugreifen.
http://[RASPBERRY_PI_IP]:[PORT]
Mit hostname -I
wird die derzeitige IP-Adresse des Raspberry Pi angezeigt.
Dort kann man sich mit dem Benutzernamen guacadmin und dem Passwort guacadmin einloggen.

Mit Apache Guacamole auf einem Raspberry Pi kannst du eine leistungsstarke Remote-Desktop-Lösung erstellen, die über einen Webbrowser zugänglich ist. Diese Lösung eignet sich hervorragend für den Zugriff auf deine Systeme von überall.
Tipp: Für zusätzliche Sicherheit solltest du Guacamole hinter einem Reverse Proxy wie NGINX betreiben und SSL einrichten.
Starte jetzt und genieße die Flexibilität von Apache Guacamole!