SSH – no matching key exchange method found

Konrad Kowalski
  • Konrad Kowalski
  • 18/05/2020
  • Linux
  • 0 komentarzy
OpenSSH

Nawiązując połączenia SSH ze starszymi urządzeniami można często napotkać na komunikat „no matching key exchange method found„. Problemem spowodowany jest używaniem przez starsze/niezaktualizowane urządzenia przestarzałych algorytmów szyfrowania.

Najprostszym rozwiązaniem problemu jest aktualizacja problematycznego urządzenia. Jednakże nie zawsze jest to możliwe. Aby nawiązać połączenie z wykorzystaniem algorytmów uznanych za przestarzałe należy skorzystać z opcji -oKexAlgorithms

Unable to negotiate with 192.168.1.234 port 22: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1

W przykładzie urządzenie używa algorytmu diffie-hellman-group1-sha1

Do nawiązania połączenia należy użyć poniższego polecenia:

ssh -oKexAlgorithms=+diffie-hellman-group14-sha1 192.168.1.234

Innym rozwiązaniem jest modyfikacja pliku /etc/ssh/ssh_config poprzez dodanie do listy brakujących algorytmów w opcji KexAlgorithms

Host *
#   ForwardAgent no
#   ForwardX11 no
....
KexAlgorithms diffie-hellman-group14-sha1
....

Dodaj komentarz