Aktiviere SSH in Home Assistant

Bevor wir loslegen können, erfüllen wir zunächst die Abhängigkeit unter Home- Assistant und installieren im Addon-Store das Addon Terminal & ssh.

Home-Assistant Addon Terminal & ssh - Schritt 1
Home-Assistant Addon Terminal & ssh

Das aktivierte Addon kann dann erst einmal unkonfiguriert bleiben und wir machen auf dem lokalen PC weiter. Die folgenden Schritte funktionieren gleichermaßen unter Linux oder Windows mit git bash.

Vorab erstellen wir einen neuen SSH Schlüssel für Home-Assistant:

ssh-keygen -t rsa -b 4096 -f ~/.ssh/home-assistant

Wird der SSH Zugang rein für administrative Aufgaben genutzt, die man persönlich durchführen will, kann man eine Passphrase verwenden. Soll der SSH Zugang für Remote Aufgaben durch Commands in Third-Party Software genutzt werden, dann lass die Passphrase einfach leer und bestätige mit Enter.

Anschließend können wir den Inhalt des öffentlichen Schlüssels anzeigen lassen und kopieren:

cat ~/.ssh/home-assistant.pub

Alternativ einfach in einem Text-Editor wie Notepad oder vscode öffnen, alles markieren und mit strg + c kopieren.

Anschließend machen wir erst einmal in Home-Assistant weiter und begeben uns in den Reiter Konfiguration des Addons Terminal & ssh. Dort passen wir die Optionen wie folgt an:

apks: []
authorized_keys:
  - >-
    ssh-rsa
    ... HIER DEN SCHLÜSSEL EINFÜGEN ...    
password: ''
server:
  tcp_forwarding: false

Nun müssen wir nur noch den Port aktivieren:

Home-Assistant Addon Terminal & ssh - Schritt 2
SSH Port setzen

Im obigen Beispiel habe ich der Einfachheit halber den Port 22 verwendet. Allerdings empfehle ich, einen anderen Port zu verwenden mit einer beliebigen Zahl zwischen 20000 und 65535.

Nach dem Speichern der Änderungen muss das Addon neu gestartet werden. Im Regelfall fragt Home-Assistant direkt danach. Aso einfach bestätigen.

Anschließend überprüfen wir noch das Log (Reiter Protokolle). Die Ausgabe sollte int etwa wie folgt aussehen:

[04:37:38] INFO: Starting the SSH daemon...
Server listening on 0.0.0.0 port 22.
Server listening on :: port 22.

Zu guter Letzt können wir jetzt noch auf dem lokalen Computer die SSH Config bearbeiten um es möglichst einfach zu gestalten uns per SSH zu verbinden:

vi ~/.ssh/config

Auch hier gilt, dass man die Datei auch einfach in einem Editor bearbeiten kann. In die Datei tragen wir nun folgende Zeilen mit ein:

# Konfiguration für Home-Assistant
Host home-assistant
    # hostname kann der eigene hostname für home-assistant
    # oder auch die IP sein
    HostName home-assistant.local
    User root
    PubKeyAuthentication yes
    IdentitiesOnly yes
    # Pfad zur erstellten Schlüssel-Datei
    IdentityFile ~/.ssh/home-assistant
    # Alternativ den eigenen rausgesuchten Port einsetzen
    Port 22

Nach dem Speichern können wir uns mit Home-Assistant per SSH verbinden:

ssh home-assistant