Apache Guacamole auf einem Raspberry Pi installieren

Apache Guacamole auf dem Raspberry Pi verwandelt deinen Mini-Rechner in ein clientloses Remote-Desktop-Gateway. Statt für jedes System einen eigenen Client für RDP, VNC oder SSH zu installieren, öffnest du deine Geräte einfach im Webbrowser – egal ob vom Laptop, Tablet oder Smartphone. In dieser Schritt-für-Schritt-Anleitung installierst du Apache Guacamole auf einem Raspberry Pi als Docker-Container und sicherst den Zugang optional mit einer Zwei-Faktor-Authentifizierung ab.

Wir setzen dabei bewusst auf Docker, denn so läuft Guacamole samt Datenbank, dem guacd-Daemon und der Weboberfläche in einem einzigen, sauber gekapselten Container. Falls du mit Containern noch nicht vertraut bist, verschafft dir unser Beitrag Was ist Docker? zuerst den nötigen Überblick. Das gleiche Prinzip funktioniert übrigens auch auf anderen Homeserver-Plattformen wie Unraid oder Proxmox.

Voraussetzungen

Damit die Installation reibungslos gelingt, solltest du folgende Dinge bereithalten:

  • Einen Raspberry Pi 4 (oder neuer) mit mindestens 2 GB RAM – 4 GB sind für flüssigeres Arbeiten empfehlenswert.
  • Ein aktuelles 64-Bit-Betriebssystem, zum Beispiel Raspberry Pi OS (Bookworm).
  • Terminal-Zugriff über einen Benutzer mit sudo-Rechten (lokal oder per SSH).
  • Eine stabile Internetverbindung zum Herunterladen der Docker-Images.

Apache Guacamole auf dem Raspberry Pi installieren – Schritt für Schritt

Die Einrichtung gliedert sich in drei überschaubare Schritte: System aktualisieren, Docker installieren und schließlich den Guacamole-Container starten. Arbeite die Abschnitte am besten der Reihe nach ab.

Schritt 1: Raspberry Pi auf den neuesten Stand bringen

Bevor du neue Software installierst, solltest du das System aktualisieren. So stellst du sicher, dass alle Pakete und Sicherheitsupdates aktuell sind:

sudo apt update
sudo apt upgrade -y

sudo apt update lädt die aktuellen Paketlisten aus den Repositories, während sudo apt upgrade -y alle installierten Pakete aktualisiert und Rückfragen automatisch bestätigt. Je nach letztem Update kann dieser Vorgang ein paar Minuten dauern.


Schritt 2: Docker installieren

Für den Betrieb von Guacamole brauchst du Docker. Beachte vorab zwei Punkte rund um die Firewall, damit es später keine Überraschungen gibt:

  • Nutzt du ufw oder firewalld, umgehen von Docker freigegebene Container-Ports deine bestehenden Firewall-Regeln. Details dazu findest du in der Docker-Dokumentation zu ufw.
  • Docker ist nur mit iptables-nft und iptables-legacy kompatibel. Eigene Regeln solltest du deshalb über die DOCKER-USER-Kette einbinden (siehe Paketfilterung und Firewalls).

Richte zunächst das offizielle Docker-Repository ein. Damit erhältst du stets aktuelle und signierte Docker-Pakete direkt von Docker selbst:

# 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?
Siehe auch  Docker Container automatisch aktualisieren mit Watchtower

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:

  1. sudo apt-get update
    Aktualisiert die Paketlisten, um sicherzustellen, dass das System über die neuesten Informationen zu verfügbaren Paketen verfügt.
  2. 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.
  3. sudo install -m 0755 -d /etc/apt/keyrings
    Erstellt ein Verzeichnis /etc/apt/keyrings mit Berechtigungen, um darin Schlüssel sicher zu speichern.
  4. 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.
  5. sudo chmod a+r /etc/apt/keyrings/docker.asc
    Setzt die Berechtigung des Schlüssels so, dass alle Benutzer Lesezugriff darauf haben.
  6. Repository hinzufügen
    Der folgende echo-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.
  7. 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.

Sind Repository und GPG-Schlüssel eingerichtet, installierst du Docker mit allen wichtigen Komponenten in einem Rutsch:

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:

  1. docker-ce: Die Docker Community Edition, die eigentliche Docker-Engine, um Container auszuführen.
  2. docker-ce-cli: Die Kommandozeilen-Tools für Docker, um Container zu verwalten.
  3. containerd.io: Ein Laufzeitdienst, der von Docker verwendet wird, um Container zu starten und zu verwalten.
  4. docker-buildx-plugin: Ein Plugin, das erweiterte Build-Funktionen bietet, z. B. für Multi-Plattform-Images.
  5. docker-compose-plugin: Ein Plugin, um mit docker compose Anwendungen zu definieren und auszuführen, die aus mehreren Containern bestehen.
Siehe auch  Docker Volumes: Daten dauerhaft speichern (Anleitung)

Zweck: Mit diesem Befehl wird ein vollständiges Docker-Setup installiert, um Container zu erstellen, zu verwalten und komplexe Container-Anwendungen auszuführen.

Damit ist Docker einsatzbereit. Mit docker --version kannst du die erfolgreiche Installation kurz überprüfen.


Schritt 3: Apache Guacamole als Docker-Container starten

Jetzt folgt der eigentliche Kern der Anleitung. Der folgende Befehl lädt das Guacamole-Image für den Raspberry Pi herunter und startet den Container. Ersetze </path/to/config> durch einen echten Pfad auf deinem Pi, in dem die Konfiguration dauerhaft gespeichert wird:

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 empfehle ausdrücklich, die Erweiterung auth-totp zu aktivieren. Sie fügt dem Login einen zweiten Faktor hinzu und erhöht die Sicherheit spürbar – gerade wenn Guacamole später aus dem Netzwerk erreichbar ist.

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?

  1. Gemeinsamer Schlüssel (Seed): Der Benutzer und der Server teilen sich einen geheimen Schlüssel, der bei der Einrichtung des TOTP generiert wird.
  2. Zeitbasierter Algorithmus: Das System verwendet die aktuelle Uhrzeit in Kombination mit dem geheimen Schlüssel, um ein Einmalpasswort zu erstellen.
  3. Dauer: Diese Einmalpasswörter sind typischerweise nur für einen kurzen Zeitraum (z. B. 30 Sekunden) gültig.
  4. Ü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.

Sobald der Container heruntergeladen und gestartet ist, erreichst du die Weboberfläche über die IP-Adresse deines Raspberry Pi, gefolgt vom Port 8080:

http://[RASPBERRY_PI_IP]:[PORT]

Die aktuelle IP-Adresse deines Raspberry Pi zeigt dir der Befehl hostname -I an.

Beim ersten Aufruf meldest du dich mit dem Benutzernamen guacadmin und dem Passwort guacadmin an. Wichtig: Ändere dieses Standardpasswort umgehend und lege für den Alltag ein eigenes Benutzerkonto an.

Siehe auch  Was ist Docker? Container einfach erklärt
Apache Guacamole Weboberfläche auf einem Raspberry Pi
Die Weboberfläche von Apache Guacamole nach dem ersten Login auf dem Raspberry Pi.

Apache Guacamole absichern

Guacamole liefert die Verbindung standardmäßig unverschlüsselt über HTTP aus. Für den dauerhaften Betrieb – und erst recht für den Zugriff aus dem Internet – solltest du den Dienst deshalb hinter einen Reverse Proxy wie NGINX oder Traefik setzen und ein gültiges SSL-Zertifikat einrichten. In Kombination mit der zuvor aktivierten TOTP-Erweiterung erhältst du so einen verschlüsselten und mehrfach abgesicherten Zugang zu deinen Systemen.

Fazit

Mit Apache Guacamole auf einem Raspberry Pi baust du dir eine schlanke, leistungsfähige Remote-Desktop-Lösung, die komplett im Webbrowser läuft und keine zusätzliche Client-Software benötigt. Dank Docker ist die Installation in wenigen Minuten erledigt und lässt sich später problemlos aktualisieren oder auf andere Hardware übertragen. Ergänzt um Zwei-Faktor-Authentifizierung und einen Reverse Proxy erhältst du einen sicheren Fernzugriff auf all deine Geräte – von überall.

Häufige Fragen zu Apache Guacamole auf dem Raspberry Pi

Läuft Apache Guacamole flüssig auf einem Raspberry Pi?

Ja. Für den Heimgebrauch reicht ein Raspberry Pi 4 mit 2 bis 4 GB RAM gut aus. Guacamole selbst ist ressourcenschonend, da die eigentliche Rechenlast auf den entfernten Systemen liegt. Bei vielen gleichzeitigen Sitzungen oder grafikintensiven Desktops profitierst du allerdings von mehr Arbeitsspeicher.

Welche Protokolle unterstützt Apache Guacamole?

Guacamole unterstützt die gängigen Remote-Protokolle RDP (Windows), VNC und SSH sowie Telnet und Kubernetes-Konsolen. Damit greifst du über eine einzige Oberfläche auf Windows-, Linux- und macOS-Systeme zu.

Wie ändere ich das Standardpasswort guacadmin?

Melde dich mit guacadmin / guacadmin an und öffne oben rechts die Einstellungen unter „Preferences“. Dort kannst du das Passwort ändern. Für den produktiven Einsatz empfiehlt es sich, ein separates Administratorkonto anzulegen und das Standardkonto zu deaktivieren.

Kann ich Guacamole auch ohne Docker installieren?

Grundsätzlich ja – eine native Installation aus den Quellpaketen ist möglich, aber deutlich aufwendiger, weil Tomcat, guacd und die Datenbank einzeln eingerichtet werden müssen. Der Docker-Weg aus dieser Anleitung ist für die meisten Nutzer schneller, wartungsärmer und leichter reproduzierbar.

Wie erreiche ich Guacamole sicher aus dem Internet?

Öffne niemals den Port 8080 direkt im Router. Nutze stattdessen einen Reverse Proxy mit SSL-Verschlüsselung, ein VPN wie WireGuard oder einen Tunnel-Dienst. In Verbindung mit der TOTP-Zwei-Faktor-Authentifizierung ist dein Zugang so bestmöglich geschützt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen