Dziś do kolegi mogłem powiedzieć coś w stylu „a mówiłem, byś zawczasu się przygotował”. Bo tak się stało, że właśnie dziś coś mu się popsuło w Home Assistant OS (HAOS) i trochę trzeba było pokombinować. I to pomimo tego, że HAOS działa na maszynie wirtualnej (Proxmox), a więc teoretycznie mógłby w chwilę przywrócić kopię zapasową np. z nocy. Mógłby, ale pewnie jak wielu, o kopiach zapasowych myśli dopiero wtedy, gdy są potrzebne, a kopia w samym Home Assistant nie bardzo się przyda, gdy panel Home Assistant leży… Na szczęście udało się problem rozwiązać, bo dało się połączyć przez SSH jako root i znaleźć przyczynę. Ale wcześniej trzeba było aktywować dostęp na poziomie użytkownika „root”, bo to – podobnie jak automatyczne i regularne kopie zapasowe – kolega cały czas „jeszcze” miał tylko w planach… ;-)
Spis treści w artykule
Dostęp SSH jako root w Home Assistant OS
O naprawie nie będę się rozpisywał, bo to była dość specyficzna usterka. Ale uznałem, że napisze o tym, jak odblokować – najlepiej zawczasu – dostęp SSH do Home Assistant OS (HAOS) na poziomie użytkownika „root”. I to pomimo tego, że jest to dość dobrze opisane w dokumentacji Home Assistant. Ale mój krótki test „na koledze” wykazał, że niekoniecznie artykuł jest wypozycjonowany na hasła, po których – przynajmniej niektórzy – mogą szukać takiej informacji. A do tego pomyślałem, że może komuś przyda się artykuł na ten temat po polsku.
Generowanie kluczy SSH
Na sam początek potrzebujemy parę kluczy – klucz prywatny, który zostaje na urządzeniu, z którego będziemy się łączyć, oraz klucz publiczny, który będzie zapisany w Home Assistant OS (HAOS).
O łączeniu się za pomocą kluczy po SSH już kiedyś pisałem, również w kontekście generowania kluczy, więc teraz tylko w skrócie napiszę, że klucze możemy wygenerować za pomocą polecenia w Linuksie:
ssh-keygen -t ecdsa -b 521
Możemy skorzystać też z programu PuTTYgen (element pakietu PuTTY), czy też – w ostateczności, bo niekoniecznie polecam takie rozwiązanie, ale jest i taka możliwość, więc warto o niej wspomnieć – możemy wygenerować klucze online, np. na stronie SSH Key Generator (ShowDNS.net).
Pamięć USB
Kolejny element, który będzie niezbędny, to jakaś pamięć USB, czyli PenDrive. Rozmiar nie ma znaczenia, ważne by partycja była sformatowana w jednym z 3 systemów plików:
- FAT (Windows)
- NTFS (Windows)
- Ext4 (np. Linux)
Dodatkowo – i jest to również warunek konieczny – partycja, na którą wgramy plik z kluczem publicznym, musi nazywać się CONFIG (dużymi literami).
I na tak przygotowany PenDrive wgrywamy plik z kluczem publicznym. Plik musi mieć nazwę authorized_keys (dokładnie taką, bez rozszerzenia).
Import klucza publicznego SSH do Home Assistant OS (HAOS)
By zaimportować klucz publiczny do Home Assistant OS (HAOS) zaczynamy od podłączenia pamięci USB do komputera z HAOS. Jeśli jest to maszyna wirtualna, to należy dodatkowo taką pamięć jej udostępnić.
Kolejny krok, to już faktyczny import. I tutaj mamy dwie możliwości:
Łączymy się z HAOS po SSH – jako użytkownik z ograniczeniami, ale to wystarczy, i wpisujemy komendę:
ha os import
Druga możliwość, to po prostu restart Home Assistant OS (HAOS), co da taki sam efekt. Z tym że zwracam uwagę, że nie chodzi o restart Home Assistant jako usługi, z panelu Home Assistant, ale o restart systemu operacyjnego Home Assistant OS (HAOS), czyli maszyny, na której jest zainstalowany Home Assistant OS (HAOS).
Obie te operacje powinny zadziałać tak samo. I co ważne – działanie to trzeba wykonać raz, a dostęp będzie nawet po restarcie bez pamięci USB, czy po aktualizacji systemu.
Połączenie SSH jako „root” z Home Assistant OS (HAOS)
W tym momencie możemy połączyć się już jako użytkownik „root” z Home Assistant OS (HAOS). O ile zwykłe SSH (użytkownik z ograniczeniami) działa na porcie 22, to wersja „pełna”, czyli gdy łączymy się jako użytkownik „root” działa na porcie 2222.
Oczywiście połączenie autoryzujemy za pomocą klucza prywatnego, który został wygenerowany razem z kluczem publiczny. W takiej konfiguracji po połączeniu podajemy tylko nazwę użytkownika (root), a reszta autoryzacji już odbywa się za pomocą klucza prywatnego.
- Odblokowanie dostępu SSH jako użytkownik „root” w Home Assistant OS - 1970-01-01
- Gen AI w Envato, czyli w ramach usługi Envato Elements mamy teraz dostęp do całego wachlarza narzędzi wspieranych przez AI - 1970-01-01
- DJI Mini 5 Pro, czyli mały dron z klasą C0, a spore zamieszanie, bo niby sub250, a jednak waży powyżej 250 gramów - 1970-01-01





