Sicherer Zugriff ohne Home Assistant öffentlich zu exposen

Home Assistant für Alex via Tailscale freigeben

Diese Anleitung verbindet deinen lokalen Home Assistant sicher mit dem VPS/Agenten über ein privates Tailscale-Netzwerk. Kein Port-Forwarding, keine öffentliche Home-Assistant-Instanz.

Zielbild

Home Assistant bleibt in deinem lokalen Netzwerk und ist nur über Tailscale erreichbar. Der VPS, auf dem Alex läuft, wird ein Gerät in deinem privaten Tailnet. Danach kann Alex Home Assistant über eine Tailscale-IP oder einen MagicDNS-Namen erreichen.

Empfohlenes Ergebnis: http://homeassistant:8123 oder http://100.x.y.z:8123 ist vom VPS erreichbar, aber nicht aus dem öffentlichen Internet.

Voraussetzungen

  • Ein Tailscale-Konto: tailscale.com
  • Admin-Zugriff auf Home Assistant
  • Eine Möglichkeit, Tailscale im Heimnetz zu betreiben: Home-Assistant-Add-on, HAOS-Terminal/SSH oder ein Raspberry Pi/NAS im selben LAN
  • Von Home Assistant aus einen Long-Lived Access Token für Alex

Quickstart: einfachste Variante

Tailscale auf Home Assistant installieren.
Wenn dein Home Assistant Add-ons unterstützt: Add-on Store öffnen, Tailscale suchen/installieren und starten. Falls das nicht geht, installiere Tailscale auf einem Gerät im selben LAN, z. B. Raspberry Pi oder NAS.
Gerät im Tailnet anmelden.
Im Add-on oder Terminal die Tailscale-Login-URL öffnen und mit deinem Tailscale-Konto bestätigen.
MagicDNS aktivieren.
In der Tailscale Admin Console unter DNS → MagicDNS aktivieren. Dann bekommen Geräte schöne Namen statt nur 100.x.y.z-IPs.
Alex-VPS ins Tailnet aufnehmen.
Danach installiere ich Tailscale auf dem VPS und du autorisierst den Login-Link einmalig in deinem Tailscale-Konto.
Home-Assistant-Token erstellen.
In Home Assistant einen Long-Lived Access Token für Alex erstellen und mir sicher mitteilen.
Verbindung testen.
Ich teste dann vom VPS aus /api/, lese die Entity-Liste und kann danach gezielt Automationen, Sensoren oder Skripte nutzen.

Variante A: Tailscale direkt in Home Assistant

Das ist die bequemste Variante, wenn dein Home Assistant Add-ons unterstützt, z. B. Home Assistant OS oder Supervised.

  1. Home Assistant öffnen.
  2. Einstellungen → Add-ons → Add-on Store.
  3. Nach Tailscale suchen.
  4. Add-on installieren, starten und „Start on boot“ aktivieren.
  5. Die angezeigte Login-/Auth-URL öffnen und das Gerät in Tailscale autorisieren.
  6. In der Tailscale Admin Console den Gerätenamen merken, z. B. homeassistant.
Wenn Tailscale auf Home Assistant selbst läuft, ist meistens http://homeassistant:8123 oder die Tailscale-IP des HA-Geräts ausreichend.

Variante B: Tailscale auf Raspberry Pi/NAS im LAN

Falls Home Assistant kein Add-on unterstützt, installierst du Tailscale auf einem kleinen Gerät im gleichen Netzwerk und gibst darüber dein LAN frei.

Linux/Raspberry Pi

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --advertise-routes=192.168.178.0/24

Das Subnetz 192.168.178.0/24 bitte an dein Heimnetz anpassen. Typische FritzBox-Netze sind 192.168.178.0/24 oder 192.168.0.0/24.

Danach in der Tailscale Admin Console die Subnet Routes genehmigen.

Vorteil: Alex kann dann auch andere lokale Dienste erreichen, wenn du das möchtest. Nachteil: etwas mehr Berechtigungen, daher nur bewusst freigeben.

Alex-VPS mit Tailscale verbinden

Das kann ich auf dem VPS vorbereiten. Der Ablauf sieht so aus:

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

Der zweite Befehl erzeugt eine Login-URL. Diese URL müsstest du einmalig öffnen und autorisieren. Danach ist der VPS Teil deines privaten Tailnets.

Optional kannst du dem VPS in Tailscale einen klaren Namen geben, z. B. alex-vps.

Long-Lived Access Token in Home Assistant erstellen

  1. Home Assistant öffnen.
  2. Unten links auf dein Benutzerprofil klicken.
  3. Ganz nach unten scrollen zu Long-Lived Access Tokens.
  4. Create Token anklicken.
  5. Name: Alex VPS.
  6. Token kopieren und sicher an mich übergeben.
Wichtig: Den Token nur einmalig kopieren. Behandle ihn wie ein Passwort. Wenn er kompromittiert wird, kannst du ihn im Profil jederzeit löschen.

Verbindung testen

Wenn Tailscale steht und ich Token + HA-URL habe, teste ich vom VPS:

curl -H "Authorization: Bearer TOKEN" \
  http://homeassistant:8123/api/

Erwartete Antwort:

{"message":"API running."}

Danach kann ich z. B. Entitäten lesen:

curl -H "Authorization: Bearer TOKEN" \
  http://homeassistant:8123/api/states

Sicherheits-Empfehlungen

  • Kein Port-Forwarding für Home Assistant im Router einrichten.
  • Home Assistant nicht direkt öffentlich ins Internet hängen.
  • In Tailscale nur Geräte autorisieren, die du wirklich brauchst.
  • Den Alex-Token als eigenen Home-Assistant-Token anlegen, damit du ihn separat widerrufen kannst.
  • Wenn möglich, in Home Assistant einen eigenen Benutzer für Alex mit begrenztem Zugriff anlegen.
  • Bei Subnet-Router-Variante nur das benötigte Heimnetz freigeben.

Was du mir danach schicken musst

  • Die Tailscale-Login-URL für den VPS autorisieren, sobald ich sie dir gebe
  • Die Home-Assistant-URL im Tailnet, z. B. http://homeassistant:8123 oder http://100.x.y.z:8123
  • Den Long-Lived Access Token
  • Optional: eine Liste der Geräte/Entitäten, die ich steuern oder auslesen darf
Sobald diese vier Punkte erledigt sind, kann ich Home Assistant vom VPS aus testen und anschließend sauber integrieren.