Witam,
Ten wątek stanowi kontynuację wątku i skupia się na aktywacji dostępu SSH do Mobilus Cosmo GTW w celu późniejszego wgrania oraz monitorowania matter bridge. Sam Cosmo GTW działa na systemie OpenWRT 15.05.1 (linux) co znacząco ułatwia sprawy. Instrukcja została przygotowana w oparciu o środowisko Linux, a dokładniej Debian/Ubuntu, z którego sam korzystam.
Dostęp do konsoli Cosmo GTW normalnie uzyskuję się przez połączenie UART, co wymaga rozebrania samego Cosmo GTW oraz przylutowanie np. goldpin dla TX i RX na płytce - rozwiązanie raczej bardziej dla zaawansowanych użytkowników.
Na szczęście, udało mi się opracować narzędzie, które umożliwia dostęp do konsoli bez potrzeby rozbierania ani lutowania czegokolwiek. Wymagany jest jedynie login i hasło z uprawnieniami admin do Cosmo GTW. Narzędzie symuluje tryb fail-safe, który OpenWRT naturalnie posiada. Pamiętaj, że to narzędzie jest przeznaczone tylko w celu uzyskania dostępu do konsoli na twoim Cosmo GTW.
Pamiętaj, że robisz to na własną odpowiedzialność, jeżeli nie jesteś pewien to radzę przerwać. W razie problemów może być konieczne zresetowanie ustawień sieciowych lub wykonanie przywracania do ustawień fabrycznych (factory reset).
Wymagania
Do działania aplikacji mobroot będą wymagane poniższe biblioteki oraz klient telnet.
sudo apt install libmosquitto-dev libssl-dev telnet
Połączenia SSH będą realizowane z użyciem klucza SSH – sposób jego wygenerowania znajdziesz w dokumentacji lub z pomocą Google / ChatGPT.
Przed rozpoczęciem podłącz kabel Ethernet do Cosmo GTW i aktywuj na nim WiFi. Samo połączenie WiFi może być ustawione w trybie klient czy router. Połączenie Ethernet posłuży tylko jedynie jako backup, żeby nie stracić połączenia z urządzeniem gdyby coś poszło nie tak i rozłączyło go od sieci WiFi.
mobroot_debian_x86-64.zip (151.3 KB) md5: ca1a7d3a63c7a72ce8ff1bdc077811af
mobroot_macos_arm64.zip (132.7 KB) md5: 35d0ffc1ca118d75c69543e65ac8f690
Aktywacja SSH
OpenWRT 15.05.1 jest wyposażone w usługę dropbear, która pełni rolę serwera SSH.
./mobroot --host [COSMO_GTW_IP] --username admin --password admin
Po nawiązaniu połączenia narzędzie poprosi o potwierdzenie. Po pomyślnym zakończeniu usługa telnet na Cosmo GTW powinna zostać załączona po ~15s.
Po tym czasie, możesz połączyć się z Cosmo GTW używając:
telnet [COSMO_GTW_IP]
Aby upewnić się, że usługa SSH działa, wykonaj:
/etc/init.d/dropbear enable
Następnie skopiuj swój klucz publiczny SSH (zwykle ~/.ssh/id_rsa.pub
) i wklej jego zawartość do pliku:
vim /etc/dropbear/authorized_keys
Ustaw odpowiednie uprawnienia, aby dropbear go uznał.
chmod 600 /etc/dropbear/authorized_keys
Na koniec przeładuj usługę dropbear:
/etc/init.d/dropbear reload
Sprawdź połączenie SSH z poziomu swojego komputera:
ssh -oPubkeyAcceptedKeyTypes=ssh-rsa -oHostKeyAlgorithms=+ssh-rsa -oKexAlgorithms=+diffie-hellman-group1-sha1 root@[COSMO_GTW_IP]
Powyższe parametry są konieczne z uwagi na przestarzałą wersję OpenWRT (z 2016 r.), która nie obsługuje nowszych standardów SSH. Dla wygody warto dodać konfigurację do ~/.ssh/config
.
Podsumowanie
Pamiętaj, aby po zakończeniu zrestartować Cosmo GTW. Usługa telnet zostanie automatycznie wyłączona, a dzięki aktywacji autostartu dropbear, dostęp po SSH powinien pozostać możliwy.
Aby przejść do instalacji matter-bridge, wróć do głównego wątku.