SSH – no matching host key type found

Secure Shell (SSH)

je client-server protokol, sloužící k přihlášení ke vzdálenému systému. První verze SSH protokolu je stará více jak 20 let. Prostřednictívm SSH lze vytvořit zabezpečené připojení ke zválenému systému prostřednictvím nezabepečené sítě (Internet). Bezpečnost přenosu je založena na asymetrické kryptografii – private/public key.

Shodné algoritmy

Aby mohlo být spojení mezi klientem a systémem navázáno musí se jednotlivé strany domluvit na algoritmu, kterým budu přenášená data kryptovat. Zde může nastav problém. Strany se snaží nalézt algoritmus, který budu vyhovovat oběma stranám. Důvod je prostý. Pokud by tak neučinili, a vysílací strana by data kryptovala algoritmem, který by přijímací strana neznala nemohla by data přečíst – dekryptovat.

Může nastat situace, že se stany nedomluví. To bývá typické, pro situace, kdy je jedna ze stran generačně zastaralá, případně nabízí omezený list algoritmů – např. WiFi routery, NAS zařízení, Switche… Spojení pak nelze navázat.

Můžeme se pak setkat s takovouto chybou – no matching host key type found:

Situaci lze vyřešit vynucením šifrovacího algoritmu na straně klienta pomocí parametru HostKeyAlgorithms=+ssh-dss :

V našem případě ale narážíme na další problém – DH GEX group out of range. Vynucený algoritmus DH podporuje pouze 1024. Což není ze strany klienta akceptováno. Důvodem je, že minimální velikost klíče pro DH byla změněna z 1024 1536. Musíme tedy opět na straně klienta vynutit, že se chceme připojit. V tomto případě je to na úkor bezpečnosti. Přidáme parametr KexAlgorithms (Key Exchange Alghoritmus). V našem případě – diffie-hellman-group14-sha1.

Přihlášení:

Přihlášení proběhlo! Ovšem je to na úkor bezpečnost. Určitě je lepší variantou zabezpečit systém tak, aby bylo možné se přihlašovat bezpečně.

Úprava .ssh/config

Seznam systémů, ke kterým se chceme přihlašovat za cenu nižšího zabezpečení je nutné specifikovat v konfiguračním hostu SSH klienta. Nebude tak nutné pro příští přihlášení zadávat konfigurační parametry SSH přímo do příkazové řádky.

Konfigurační soubor pro macOS se nachází v cestě ~/.ssh/config

 

 

0.00 avg. rating (0% score) - 0 votes

Leave a Reply