Výsledkem pokusu o přihlášení k serveru ESXi je chyba "No supported authentication methods available (server sent: publickey)".
Summary: Tento článek obsahuje podrobného průvodce odstraňováním problémů s protokolem SSH z pohledu systému ESXi. Zde popsané koncepty a řešení jsou však použitelné i pro jiné operační systémy založené na Linuxu, takže tyto informace jsou cenné pro širší škálu prostředí. ...
Symptoms
Pokus o přihlášení pomocí SSH k serveru ESXi má za následek chybu "No supported authentication methods available (server sent: publickey)", jak je uvedeno níže:
Při pokusu o přihlášení z jiného serveru ESXi se zobrazí následující chyba:
Cause
Server odmítne relaci SSH, protože parametr "challengeresponseauthentication" v souboru sshd_config je nastaven na hodnotu "no" a servery nejsou správně nakonfigurovány pro asymetrické ověřování (ověřování pomocí veřejného a soukromého klíče RSA).
Výsledkem je, že pokus o připojení k serveru pomocí Putty má za následek chybu "No supported authentication methods available (server sent: publickey").
Podobné chování je pozorováno, když se uživatel pokusí navázat připojení SSH z jiného hostitele ESXi. V tomto případě se uživateli zobrazí chyba "Load key '/.ssh/id_rsa': error in libcrypto", ale není vyzván k zadání hesla a připojení se nezdaří.
Pokud servery nejsou správně nakonfigurované pro asymetrické ověřování, ale parametr ChallengeResponseAuthentication je nastavený na ano, uživateli se zobrazí chybová zpráva, ale pak se zobrazí výzva k zadání hesla. Po správném zadání hesla je spojení úspěšně navázáno.
Resolution
Připojte se ke konzole cílového serveru pomocí nástroje DCUI a pak upravte challengeresponseauthentication na yes v konfiguračním souboru /etc/ssh/sshd_config.
ChallengeResponseAuthentication
Nastavení ChallengeResponseAuthentication určuje, zda je pro připojení SSH povoleno ověřování challenge-response. Je-li tato možnost povolena, server SSH vyžaduje, aby klienti před ověřením odpověděli na výzvu. Tato funkce je ve výchozím nastavení povolena v některých implementacích serveru SSH, ale v některých systémech může být z bezpečnostních důvodů zakázána, například v systému Red Hat, jak je popsáno v článku Red Hat 336773.
ChallengeResponseAuthentication je zastaralý alias pro KbdInteractiveAuthentication. Odkazy: OpenSSH: Poznámky k verzi
Additional Information
Další podrobnosti:
-
Kombinace nastavení challengeresponseauthentication a passwordauthentication vytvoří mírně odlišnou výzvu:
ChallengeResponseAuthentication nastavená na Ne a PasswordAuthentication nastavená na Ano:

challengeresponseauthentication nastavená na no a passwordauthenticationnastavená na yes NEBO obě nastavená na yes:

Další kroky pro odstraňování problémů:
-
Na straně klienta použijte volbu -v příkazu ssh k tisku ladicích zpráv o průběhu ssh. Více možností -v zvyšuje podrobnost (maximum je 3):

…

-
Na cílovém serveru zvyšte úroveň podrobností nastavení LogLevel
, abyste načetli další podrobnosti o neúspěšném pokusu o relaci SSH:
Úroveň
protokolu Udává úroveň upovídanosti, která se používá při protokolování zpráv z sshd(8). Možné hodnoty jsou: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 a DEBUG3 Výchozí hodnota je INFO. DEBUG a DEBUG1 jsou ekvivalentní. DEBUG2 a DEBUG3 určují vyšší úrovně výstupu ladění. Protokolování pomocí úrovně ladění narušuje soukromí uživatelů a nedoporučuje se.
- Další podrobnosti o chybě najdete v /var/run/log/auth.log na cílovém serveru.