root@OpenWrt:~# ssh root@192.168.100.2
ssh: Connection to root@192.168.100.2:22 exited: No matching algo hostkey
root@OpenWrt:~#
Zapytałem chatGPT i podał taka propozycje ale nie wiem czy ryzykować?
Jeśli podasz, jakie urządzenie ma adres 192.168.100.2, podam dokładnie dopasowane rozwiązanie ????
urzadzenie to dir-300 b1 z openwrt 19.07 ze strony eko.one.pl
OK ???? wszystko jasne.
Masz D-Link DIR-300 B1 z OpenWrt 19.07 (eko.one.pl).
Ta wersja używa starego dropbeara, który ma tylko klucz ssh-rsa (SHA-1).
Twój nowszy klient SSH (OpenSSH 8.8+) domyślnie blokuje ssh-rsa, stąd:
No matching algo hostkey
✅ Najprostsze rozwiązanie (działa od razu)
Z OpenWRT, z którego się łączysz:
ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa root@192.168.100.2
To powinno połączyć bez problemu.
✅ Rozwiązanie trwałe (żeby nie pisać opcji za każdym razem)
Na kliencie edytuj:
nano /root/.ssh/config
Dodaj:
Host dir300
HostName 192.168.100.2
User root
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
Potem łączysz się już tylko:
ssh dir300
????️ Czy da się to naprawić „porządnie”?
Na 19.07 raczej nie, bo:
dropbear jest stary
brak wsparcia ed25519
repozytoria 19.07 są już archiwalne
Można by:
ręcznie podmienić dropbear
albo przejść na nowsze OpenWRT
ALE…
DIR-300 B1 ma:
4 MB flash
32 MB RAM
Nowsze OpenWRT praktycznie się tam już nie mieści.
???? W Twoim przypadku
To tylko kwestia zgodności algorytmu — nie błąd sieci ani firewalla.
Najbezpieczniej zostawić tak jak wyżej (wpis w ssh config tylko dla tego hosta).
Jeśli chcesz, mogę też podać metodę, żeby:
Twój nowszy OpenWRT używał słabszych algorytmów tylko dla tej jednej podsieci,
a dla reszty urządzeń zachował pełne bezpieczeństwo.
Asus Merlin RT-AC86U + 2xRT-AC68U
OpenWRT rPi3+ E3372
rPi5 HA, rPi4 OH