Košík je prázdný

Při pokusu o vzdálené připojení k serveru pomocí SSH může uživatel narazit na chybovou zprávu „Unable to negotiate with IP address: no matching cipher found“. Tento problém obvykle nastává, když SSH klient a server nemají žádný společný šifrovací algoritmus, který by obě strany podporovaly. V tomto článku se zaměříme na konkrétní kroky pro vyřešení této chyby na operačním systému CentOS 7.

Příčina problému

SSH (Secure Shell) používá šifrovací algoritmy k zabezpečení komunikace mezi klientem a serverem. Když klient iniciuje SSH spojení, dojde k výměně seznamu podporovaných šifrovacích algoritmů. Chyba „no matching cipher found“ naznačuje, že mezi seznamem šifer klienta a servera neexistuje žádná shoda.

Řešení problému

Krok 1: Identifikace podporovaných šifer na serveru

Nejprve je třeba zjistit, které šifrovací algoritmy jsou na serveru podporovány. Toho lze dosáhnout spuštěním následujícího příkazu na serveru:

ssh -Q cipher

Tento příkaz vypíše seznam šifer, které SSH server podporuje.

Krok 2: Identifikace podporovaných šifer na klientovi

Podobně je třeba zjistit, které šifrovací algoritmy podporuje SSH klient. Na klientovi spusťte stejný příkaz:

ssh -Q cipher

Krok 3: Upravení konfigurace SSH serveru

Po identifikaci šifer, které jsou podporovány jak na serveru, tak na klientovi, je třeba upravit konfigurační soubor SSH serveru na CentOS 7, aby byla zajištěna podpora alespoň jednoho společného algoritmu. Upravte soubor /etc/ssh/sshd_config na serveru a explicitně přidejte podporované šifry. Například:

Ciphers aes256-ctr,aes192-ctr,aes128-ctr

Přidejte šifry, které jsou podporovány oběma stranami. Po změně konfigurace je nutné restartovat SSH službu:

systemctl restart sshd

Krok 4: Upravení konfigurace SSH klienta (nepovinné)

Pokud změna na straně serveru není možná nebo preferujete změnu na straně klienta, můžete specifikovat šifrovací algoritmus při spouštění SSH příkazu pomocí volby -c. Například:

ssh -c aes256-ctr user@server_address

Tímto způsobem můžete explicitně určit, který šifrovací algoritmus má být použit pro dané spojení.

 

Chyba „Unable to negotiate with IP address: no matching cipher found“ při SSH připojení je obvykle způsobena nesouladem v podporovaných šifrovacích algoritmech mezi klientem a serverem. Řešením je identifikace a konfigurace podporovaných šifer na obou stranách. V tomto článku jsme prošli kroky, které je třeba provést pro vyřešení tohoto problému na systému CentOS 7.