Die letzten Tage ist hier ja richtig Stimmung was KI angeht. Als selbstständiger Berater, der auch zum Thema sichere KI-Nutzung arbeitet, möchte ich „KI ist böse, nicht benutzen“ nicht einfach so stehen lassen — sondern zeigen wie man KI richtig einsetzt. Auch und gerade um HAOS aufzuräumen, zu optimieren und sicherer zu machen.
Nur weil es Filme gibt die KI dramatisch beleuchten, müssen wir das Thema nicht ignorieren. Wir müssen lernen damit umzugehen — jeder in dem Maß wie er es selbst benötigt und verantworten kann.
Ihr könnt auch einen Agent via VS Code, ClaudeCode, etc nutzen um das Repo herunterzuladen und einzurichten. Der agent wird Euch eine Schritt für Schritt Anleitung geben wie die ersten Keys anzulegen sind und euch auch alles so einrichten, dass ihr es direkt benutzen könnt, sofern ihr das wollt.
Der Clou: wenn alles eingerichtet ist nutzt ihr das Script um direkt neue Keys zu generieren:
Dieses Script ist in Python geschrieben, aber… Python ist nicht böse. Eine einzelne kompromittierte Bibliothek (litellm 1.82.7/1.82.8) ist aktuell ein Problem — nicht die Sprache.
Das ist so als würde man Autos verbieten weil ein bestimmtes Reifenmodell einen Rückruf hatte. Das Script in diesem Post hat null Abhängigkeiten zu LiteLLM — ihr könnt es selbst lesen und verifizieren.
Das Grundproblem
Wenn ein KI-Agent (Claude Code, Gemini, Kimi, egal welcher) SSH-Zugriff auf HAOS bekommt, hinterlässt er einen Key, der als kompromittiert anzusehen ist. Dieser Key bleibt aktiv — auch nach der Session. Das ist der eigentliche Risikopunkt, nicht die KI selbst.
Die Lösung: Key-Rotation. Nach jeder Agent-Session wird der Key automatisch ausgetauscht. Der alte Key wird ungültig, ein neuer wird generiert. Vollautomatisch.
Oder anders… Der Agent bekommt einen Schlüssel, er geht rein, macht seine Arbeit und sobald er raus ist wird das Schloss mit samt Schlüssel automatisch per Skript ausgetauscht.
Zwei-Key-Strategie
| Key | Zweck | Wer hat ihn |
|---|---|---|
| Admin-Key | Manueller Zugriff, Notfälle | Nur du — nie an Agents |
| Agent-Key | Temporär, pro Session | Wird nach jeder KI-Session rotiert |
Der Admin-Key ist der Fallback. Der Agent-Key ist das was rotiert wird. (das Script kann aber auch den Admin-Key rotieren)
Schritt 1: SSH Add-on installieren (in HomeAssistant)
HAOS → Einstellungen → Add-ons → Advanced SSH & Web Terminal installieren und starten.
In der Add-on Konfiguration den authorized_keys Button merken — dort kommen später die Public Keys rein.
Schritt 2: Projektordner anlegen
Auf dem Entwicklungsrechner (Linux/Mac/Windows mit WSL):
mkdir -p ~/Projekte/HAOS/ssh_keys
chmod 700 ~/Projekte/HAOS/ssh_keys
Sofort in .gitignore eintragen:
ssh_keys/
.env
Schritt 3: Zwei SSH-Keys generieren
# Admin-Key (dauerhaft, nur für dich)
ssh-keygen -t ed25519 -C "ha-admin" \
-f ~/Projekte/HAOS/ssh_keys/id_ed25519_admin
# Agent-Key (temporär, wird nach jeder KI-Session rotiert)
ssh-keygen -t ed25519 -C "ha-agent" \
-f ~/Projekte/HAOS/ssh_keys/id_ed25519_agent
Passphrase bei beiden: leer lassen (zweimal Enter drücken). Der Schutz kommt durch Rotation, nicht durch Passphrase.
Schritt 4: Public Keys in HAOS hinterlegen
# Ausgabe-Beispiel — euer Key sieht anders aus:
# ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... ha-admin
cat ~/Projekte/HAOS/ssh_keys/id_ed25519_admin.pub
cat ~/Projekte/HAOS/ssh_keys/id_ed25519_agent.pub
Beide Ausgaben (je eine lange Zeile) in das authorized_keys Feld im Advanced SSH Add-on eintragen. Speichern → Add-on neu starten.
Schritt 5: Verbindung testen
# YOUR_HAOS_IP ersetzen durch eure IP (z.B. 192.168.1.100)
# Admin-Key testen
ssh -i ~/Projekte/HAOS/ssh_keys/id_ed25519_admin -p 22 root@YOUR_HAOS_IP
# Agent-Key testen
ssh -i ~/Projekte/HAOS/ssh_keys/id_ed25519_agent -p 22 root@YOUR_HAOS_IP
Eure HAOS IP findet ihr unter: HAOS → Einstellungen → System → Netzwerk
Schritt 6: .env Datei anlegen
cp .env.example .env
nano .env
Nie in Git committen. Nie an Agents weitergeben.
Schritt 7: Komfort-Aliases einrichten
In ~/.bashrc oder ~/.zshrc:
# Direkter SSH-Login auf HAOS (nur für euch, nicht für Agents)
alias haos='ssh -i ~/Projekte/HAOS/ssh_keys/id_ed25519_admin -p 22 root@YOUR_HAOS_IP'
# Key-Rotation nach jeder KI-Session
alias rotate-agent-key='python3 ~/Projekte/HAOS/scripts/rotate_agent_key.py'
# Admin-Key rotieren (nur wenn nötig)
alias rotate-admin-key='python3 ~/Projekte/HAOS/scripts/rotate_agent_key.py --key-file ~/Projekte/HAOS/ssh_keys/id_ed25519_admin'
Danach: source ~/.bashrc
Schritt 8: Dem Agenten Grenzen setzen
Eine agents.md im Projektordner anlegen — die Vorlage liegt im GitHub Repo unter templates/agents.md:
cp templates/agents.md ./agents.md
Diese Datei wird von jedem KI-Agenten automatisch gelesen wenn er den Ordner als Kontext bekommt. Das ist kein Vertrauen — das ist Scope-Definition. Genau wie man einem Handwerker sagt welche Räume er betreten darf. Das funktioniert weil die Agents genau darauf ausgelegt sind um Effizienz zu gewährleisten.
Das Rotation-Script
Nach jeder KI-Session einfach:
rotate-agent-key
Was passiert:
- Neues Keypaar generieren
- Mit altem Key neuen auf HAOS hinterlegen
- Verbindungstest mit neuem Key
- Nur wenn Test erfolgreich: Alten Key aus HAOS entfernen
- Alte Key-Dateien lokal löschen
.envautomatisch aktualisieren
Wenn Schritt 3 fehlschlägt: Abbruch. Alter Key noch aktiv. Ihr sitzt nie draußen.
Das komplette Script und alle Vorlagen: GitHub → HAOS key rotation repo
Womit anfangen?
Meine aktuelle Empfehlung für den Einstieg:
- Claude Pro (~20€/Monat) — aktuell der zuverlässigste Weg für sichere, nachvollziehbare Ergebnisse ohne böse Überraschungen
- OpenCode Go (~10€/Monat) als zweite Instanz — mit Kimi implementieren, Claude prüfen lassen. Zwei unabhängige Modelle die denselben Code reviewen reduzieren das Fehlerrisiko dramatisch
Alternativen, wenn eh schon vorhanden:
- ChatGTP/Codex anstatt Claude würde auch gut gehen, kommt mir aber aus politischen Gründen derzeit nicht in Frage
- Gemini ist gut zum Webseiten bauen - Nutzt es für HAOS nur wenn ihr ein geschenktes Abo habt.
Das ist kein Sponsoring — das ist was ich selbst nutze und für mich funktioniert.
Fragen, Ergänzungen, Kritik — gerne. Nur bitte mit Argumenten. ![]()
Hier steckt mit Dokumentation und Veröffentlichung über 1 Tag Arbeit drin. Mein Job ist es eigentlich interne Prozesse zu optimieren, DAS HIER mit eigenem GitHub-Repo ist neu für mich. Über konstruktive Ideen freue ich mich ![]()
Teil 2 folgt: Credential-Management, Backup-Strategie und wie man seinen HAOS-Agenten vollständig absichert.