Zurück zum Blog
HermesTailscaleSelf-HostingNetworking

Hermes Agent + Tailscale: Sicherer Fernzugriff

Erreichen Sie einen selbst gehosteten Hermes Agent von überall, ohne Ports zu öffnen. Installieren Sie Tailscale auf Host und Geräten und nutzen Sie Port 8642 im Tailnet.

Von Hermify Team||7 Min. Lesezeit
Ein privates Mesh aus leuchtend grünen Knoten über einer dunklen Karte, das ein Tailscale-Tailnet symbolisiert, das einen Hermes-Agent-Host mit einem Telefon und einem Laptop verbindet

Hören Sie auf, Port 8642 dem öffentlichen Internet zu zeigen

Sobald ein selbst gehosteter Hermes Agent Ihren Laptop verlässt und auf einem VPS landet, steht eine Entscheidung an. Das Gateway hört auf Port 8642, und der natürliche Reflex ist, diesen Port auf der Host-Firewall zu öffnen, damit Ihr Telefon, Ihr Desktop oder die Hermes-Desktop-App ihn von überall erreichen können. Es funktioniert, und es ist genau die falsche Form für einen Prozess, der Ihre Provider-Schlüssel hält, Ihren Posteingang liest und Shell-Kommandos auf dem Host ausführt.

Eine bessere Form ist ein WireGuard-Mesh. Installieren Sie Tailscale auf dem Hermes-Host und auf jedem Gerät, mit dem Sie sprechen, melden Sie beide Seiten am selben Tailnet an und erreichen Sie das Gateway unter http://<hostname>:8642 von jedem dieser Geräte, ganz ohne eingehende Firewall-Regeln auf dem VPS. Nichts auf Port 8642 ist aus dem öffentlichen Internet erreichbar. Der Agent ist nur für Maschinen sichtbar, die Sie explizit in Ihr Tailnet aufgenommen haben. Dieses Setup empfehlen wir jedem Selbsthoster, der Hermes über sein lokales Netzwerk hinaus betreiben möchte.

Was Tailscale wirklich ist

Tailscale ist ein Mesh-VPN auf Basis von WireGuard. Statt des klassischen Stern-VPN, bei dem der gesamte Verkehr durch einen zentralen Konzentrator läuft, baut Tailscale verschlüsselte Punkt-zu-Punkt-Tunnel zwischen den Geräten Ihres Tailnets auf und nutzt einen Koordinationsserver nur, um Peers zueinander finden zu lassen. Wenn zwei Geräte direkt reden können, tun sie es. Wenn nicht, weil beide hinter restriktiven NATs stehen, fallen Pakete auf verschlüsselte DERP-Relays zurück, die niemals den Klartext sehen.

Für ein Hermes-Deployment ergeben sich diese praktischen Folgen:

  • Keine eingehenden Firewall-Regeln auf dem Host. Das Gateway lauscht weiter auf 0.0.0.0:8642 innerhalb des VPS, aber die Host-Firewall nimmt nie eine öffentliche Verbindung auf diesem Port an. Tailscale bindet sich an die Schnittstelle tailscale0, die nicht zum Internet exponiert ist.
  • Stabile Gerätenamen via MagicDNS. Ihr Hermes-Host wird als http://hermes-vps:8642 von jedem Tailnet-Peer erreichbar, unabhängig von der IP des VPS darunter.
  • Keine Schlüsselverwaltung. Jedes Gerät wird über Ihren SSO-Anbieter (Google, GitHub, Okta, Apple oder einen OIDC-Endpunkt) authentifiziert. Ein neues Telefon aufnehmen oder ein gestohlenes entfernen ist eine Zwei-Klick-Operation in der Tailscale-Administrationskonsole.
  • Kostenlos für den privaten Gebrauch. Der Personal-Plan deckt bis zu 6 Nutzer und unbegrenzt viele Geräte ohne Gebühren ab, was ein Einzel-Betreiber-Setup mit einer Handvoll Clients bequem abdeckt.

Wenn Sie noch nicht entschieden haben, ob Sie den Agent überhaupt selbst hosten wollen, lesen Sie zuerst Selbst hosten vs. verwalteter Hermes Agent. Der Rest dieses Beitrags setzt voraus, dass Sie bereits einen Docker-basierten Hermes Agent auf einem VPS laufen haben (die Anleitung finden Sie im Hermes-Agent-Docker-Guide) und ihn nun sicher von außen erreichen möchten.

Voraussetzungen

Sie benötigen:

  • Einen VPS oder eine Homelab-Maschine, auf der Hermes Agent läuft, idealerweise in Docker, mit dem Gateway an 0.0.0.0:8642 innerhalb des Containers gebunden.
  • Ein kostenloses Tailscale-Konto (der Personal-Plan genügt).
  • SSH-Zugriff auf den Host sowie Administratorzugriff auf das Telefon oder den Laptop, von dem aus Sie sprechen möchten.
  • Die öffentliche Host-Firewall so konfiguriert, dass eingehender Port 8642 verweigert wird. Falls Sie ihn bei der Einrichtung geöffnet hatten, schließen Sie ihn vor dem Fortfahren. Genau darum geht es in dieser Übung.

Schritt 1 - Tailscale auf dem Hermes-Host installieren

Der Ein-Zeilen-Installer funktioniert auf allen gängigen Linux-Distributionen:

curl -fsSL https://tailscale.com/install.sh | sh

Das Skript erkennt Ihre Distribution, fügt das Tailscale-Paketrepository hinzu und installiert die Binärdateien tailscale und tailscaled. Unter Debian, Ubuntu, Fedora, Arch und Alpine wählt es den passenden Paketmanager automatisch. Unter macOS lautet das Äquivalent brew install tailscale; unter Windows laden Sie den Installer von der Tailscale-Website.

Starten Sie anschließend den Daemon und melden Sie sich an:

sudo systemctl enable --now tailscaled
sudo tailscale up --ssh

Der Schalter --ssh aktiviert zusätzlich Tailscale SSH, mit dem Sie sich per SSH über das Tailnet und mit Ihrer SSO-Identität statt mit einem statischen Schlüsselpaar am Host anmelden. Wenn Sie bereits ein funktionierendes SSH-Setup haben, können Sie den Schalter weglassen; er ist ein optionales und reversibles Upgrade.

tailscale up gibt eine einmalige Login-URL aus. Öffnen Sie sie im Browser, authentifizieren Sie sich bei Ihrem Identitätsanbieter und der Host tritt Ihrem Tailnet bei. Notieren Sie seine Tailnet-IP und seinen MagicDNS-Namen:

tailscale ip -4
tailscale status

Sie sehen etwas wie 100.64.1.5 und hermes-vps.tailnet-name.ts.net. Beides funktioniert als Ziel für das Gateway.

Schritt 2 - Tailscale auf Ihrem Telefon und Laptop installieren

Installieren Sie die Tailscale-App auf jedem Gerät, von dem aus Sie sprechen möchten:

  • iOS / Android: Installieren Sie die Tailscale-App aus dem App Store oder Play Store, öffnen Sie sie und melden Sie sich mit derselben Identität an, die Sie auf dem Host verwendet haben.
  • macOS / Windows / Linux-Desktop: Laden Sie den Installer von tailscale.com/download und melden Sie sich an.

Nach der Anmeldung ist jedes Gerät ein Peer im selben Tailnet. Rufen Sie im Browser des Telefons http://hermes-vps:8642/health auf und Sie sollten das übliche Health-JSON erhalten. Von einem Laptop in einem anderen WLAN funktioniert dieselbe URL weiterhin. Auf dem VPS wurden keine Ports geöffnet.

Schritt 3 - Die Hermes-Desktop-App auf das entfernte Gateway richten

Wenn Sie die Hermes-Desktop-App verwenden, setzen Sie deren Gateway-URL auf die Tailnet-Adresse des Hosts. Ersetzen Sie in den App-Einstellungen das voreingestellte http://localhost:8642 durch:

http://hermes-vps:8642

Für den WebSocket-Tunnel des Desktops verwenden Sie denselben Hostnamen mit dem --tui-Websocket-Endpunkt. Verankern Sie einen HERMES_DASHBOARD_SESSION_TOKEN in der .env des Containers, damit sich der Desktop sauber gegen ein stabiles Token statt gegen ein frisch rotiertes authentifiziert. Der Rest der App ist transportunabhängig; aus ihrer Sicht liegt das Gateway auf localhost, und Tailscale übernimmt das Routing.

Sobald die Desktop-App mit dem entfernten Gateway spricht, funktionieren alle üblichen Hermes-Oberflächen (Sprachmodus, Skills, MCP-Tools, geplante Aufgaben) genau wie bei einer lokalen Installation. Wie Sprache auf demselben Setup aussieht, sehen Sie im Hermes-Agent-Sprachmodus.

Optional: Tailscale Funnel für öffentliches HTTPS

Ab und zu benötigen Sie doch ein Webhook-Ziel, das vom öffentlichen Internet erreichbar ist: einen Stripe-Webhook, einen Discord-Slash-Command-Endpunkt, einen Telegram-Webhook, falls Sie kein Long Polling verwenden. Tailscale Funnel ist der Notausgang. Er stellt einen gewählten lokalen Port des Tailnets als öffentlichen HTTPS-Endpunkt unter https://hermes-vps.tailnet-name.ts.net bereit, wobei Tailscale ein gültiges Let's-Encrypt-Zertifikat für Sie ausstellt.

Aktivieren Sie ihn auf dem Host:

sudo tailscale funnel 8642

Funnel ist standardmäßig deaktiviert und wirkt pro Dienst, sodass Sie einen schmalen Endpunkt öffnen können, ohne das gesamte Gateway freizugeben. Wenn Sie nie eine öffentliche HTTPS-URL benötigen, überspringen Sie diesen Schritt und lassen Sie den Agent vollständig innerhalb des Tailnets. Details finden Sie in den Tailscale-Funnel-Docs.

Tailscale vs. Cloudflare Tunnel vs. Firewall und Reverse Proxy

Drei Wege, um einen selbst gehosteten Hermes Agent von außen zu erreichen, sortiert danach, wie viel Sie darüber nachdenken müssen:

Ansatz Öffentliche Exposition Setup-Aufwand Bester Einsatz
Tailscale-Mesh Keine Gering Sie kontrollieren jedes Gerät, von dem aus Sie sprechen
Cloudflare Tunnel Ja, mit Auth Mittel Sie müssen den Agent mit externen Nutzern teilen
Firewall + Reverse Proxy + Auth Ja Hoch Sie wollen das klassische Nginx-vor-allem-Setup

Cloudflare Tunnel ist ein vernünftiger Mittelweg, wenn Ihr Publikum nicht nur Ihre eigenen Geräte sind, aber er stellt den Endpunkt dem gesamten Internet zur Verfügung und stützt sich auf Cloudflare Access für die Authentifizierung. Firewall plus Reverse Proxy funktioniert, aber Sie tragen die gesamte Stack-Verantwortung: TLS, Rate Limits, Auth-Middleware, Log-Review. Tailscale ist der kürzeste Weg zu einem wirklich privaten Agent. Hinweise zum Härten der beiden stärker exponierten Optionen finden Sie im Hermes-Agent-Sicherheitsleitfaden.

Die verwaltete Alternative

Tailscale ist die richtige Antwort, wenn Sie sich zum Selbsthosten verpflichtet haben. Es sind auch sechs bewegliche Teile mehr: ein Tailscale-Konto, eine Abhängigkeit vom Koordinationsserver, der tailscaled-Daemon auf jedem Host, eine Richtlinie zum Hinzufügen und Entfernen von Geräten, MagicDNS-Namen, die man sich merken muss, und ein Geräteinventar, das gepflegt werden will. Das lohnt sich für ein Homelab oder ein neugieriges Wochenende, weniger klar, wenn Sie einfach einen persönlichen Agent wollen, der Ihre Nachrichten beantwortet.

Wenn das Ziel "ein Agent, mit dem ich auf Telegram von überall reden kann" lautet und nicht "ein privates WireGuard-Mesh betreiben", ist der verwaltete Weg die Abkürzung. Starten Sie mit Hermify und Ihr Hermes Agent ist in etwa einer Minute als Telegram-Kontakt online, mit Gedächtnis, das Ihnen gehört, ohne Ports zu öffnen und ohne Tailnet zu pflegen. Das Gerät, von dem aus Sie sprechen, ist Ihr bestehender Telegram-Client, ganz ohne VPN-Konfiguration.

Sources

Betreiben Sie Ihren eigenen Hermes Agent

Bringen Sie Ihren API-Schlüssel mit, verbinden Sie Telegram und erhalten Sie in 60 Sekunden einen selbstlernenden KI-Agenten.

Loslegen