Oprava: Nebyla nalezena žádná metoda shody výměny klíčů



Vyzkoušejte Náš Nástroj Pro Odstranění Problémů

Když se pokoušíte použít ssh ke spojení se vzdáleným serverem, může se vám zobrazit chyba, která nenačte žádnou odpovídající metodu výměny klíčů, než vám bude předložen návrh, který šifrovací algoritmus budete chtít použít. Nebudete se moci připojit ke vzdálenému serveru, kdykoli dojde k chybě. Tento proces může být opravdu frustrující, ale chyba je tak běžná, že často najdete typy Unixu, které mluví o tom, jak to prožívají, a dávají stejné rady, jak se dostat ven z lesa.



Následující metody opravy chyby byly testovány na všem, na čem ssh pracuje, ale tento problém pravděpodobně najdete v systémech Unix a Linux. Stejný proces byste měli být schopni použít k opravě, pokud používáte ssh ve Windows nebo něco exotického, ale možná zjistíte, že možnosti přepnutí se mírně liší.



Metoda 1: Recontacting the Server and Regenerating Keys

Než uděláte cokoli jiného, ​​ujistěte se, že můžete chybu reprodukovat. Někdy se tato chybová zpráva zobrazuje jen proto, že aktuálně není spuštěna nějaká vzdálená služba, která mohla být mezitím opravena. Zatímco jsme provozovali ssh na virtuálním stroji, který umožňoval připojení k falešné adrese serveru, která byla nastavena na document.schválený example.org, ale místo toho budete chtít nahradit skutečnou síťovou adresu.



Pokud jej stále dostáváte, zkuste regenerovat klíče pomocí ssh-keygen -A z příkazového řádku. Tím se obnoví mezipaměť, kterou aplikace ssh používá pro připojení ke vzdálenému serveru. Kromě toho můžete zkusit restartovat ssh spuštěním restartování služby ssh a dát mu pár chvil.

Pokud stále máte problémy, znamená to, že server a klient se nikdy nedokázali vyrovnat se správným protokolem, který lze použít. OpenSSH implementuje závratnou řadu různých protokolů, ale řadu z nich deaktivuje, protože je nyní známo, že jsou kompromitovány, a proto nejsou bezpečné. Budete chtít aktualizovat všechny balíčky ssh na konci rovnice na serveru, takže se ujistěte, že správce systému ví, o co jde. Je-li to váš vlastní server, aktualizujte je chvíli.



Pokud toto není možnost a poznáte nebezpečí použití kompromitovaného algoritmu, existuje způsob, jak tuto chybovou zprávu obejít, na straně klienta.

Metoda 2: Povolení starších možností v OpenSSH

Podívejte se, co čte chybová zpráva za slovy Jejich nabídka: abyste zjistili, jaký algoritmus preferuje vzdálený server. Zatímco většina systémů by měla používat openssh7, který již deaktivoval starou zastaralou technologii diffie-hellman-group1-sha1, bude vám řečeno použít sha1, pokud jsou stále přilepené na openssh6 nebo něco podobného.

Běh ssh -oKexAlgorithms = + diffie-hellman-group1-sha1 testhost@example.org s jakýmkoli skutečným síťovým hostitelem nebo IP adresou vzdáleného serveru je tento problém vyřešen na straně klienta. Pokud to problém vyřeší, hledal starší protokol založený na sha1 pro připojení. Toto starší řešení založené na sha1 bylo z dobrého důvodu deaktivováno, ale můžete jej trvale obejít pomocí editorů nano nebo vim k otevření souboru ~ / .ssh / config a přidání řádků:

Hostit example.org

KexAlgorithms + diffie-hellman-group1-sha1

Mějte na paměti, že se budete chtít ujistit, že je tam znaménko plus, protože to znamená, že ssh bezpečnější výchozí hodnoty připojí, nikoli nahradí. Když server aktualizuje balíčky, budete ve většině případů používat bezpečnější protokoly.

Pokud se vám před verzí sha1 zobrazila chyba, která zmínila protokol ssh-dss, můžete místo toho vyzkoušet tento příkaz následovaný jménem vašeho hostitele: ssh -oHostKeyAlgorithms = + ssh-dss , který, pokud to funguje, budete muset znovu upravit soubor ~ / .ssh / config. Za řádek Host přidejte záložku a následující:

HostKeyAlgorithms + ssh-dss

Nezapomeňte, že stejně jako systém sha1 byl i klíč ssh-dss zastaralý kvůli extrémně racionálním bezpečnostním problémům s ním spojeným. Použití tohoto nástroje by mohlo do vašeho připojení vnést zranitelná místa, takže by se na něj mělo pohlížet pouze jako na dočasnou opravu, i když i to. Nezapomeňte server co nejdříve aktualizovat.

3 minuty čtení