Попытка входа на сервер ESXi приводит к ошибке «No supported authentication methods available (server sent: publickey)»
Summary: В этой статье содержится подробное руководство по поиску и устранению неисправностей SSH с точки зрения ESXi. Однако обсуждаемые здесь концепции и решения применимы и к другим операционным системам на базе Linux, что делает эту информацию ценной для более широкого спектра сред. ...
Symptoms
Попытка входа по протоколу SSH на сервер ESXi приводит к ошибке «Недоступны поддерживаемые методы проверки подлинности (отправлено сервером: открытый ключ)», а именно:
При попытке входа с другого сервера ESXi отображается следующее сообщение об ошибке:
Cause
Сервер отклоняет сеанс SSH, так как для параметра «challengeresponseauthentication» в sshd_config файле установлено значение «no», а серверы неправильно настроены для асимметричной аутентификации (аутентификации с открытым и закрытым ключами RSA).
В результате попытка подключиться к серверу с помощью Putty приводит к ошибке «No supported authentication methods available (server sent: publickey)».
Аналогичная ситуация наблюдается, когда пользователь пытается установить SSH-подключение с другого хоста ESXi. В этом случае пользователь получает ошибку "Load key '/.ssh/id_rsa': error in libcrypto", но ему не требуется ввести пароль, и соединение не работает.
Если серверы неправильно настроены для асимметричной аутентификации, а для параметра ChallengeResponseAuthentication установлено значение «yes», пользователь получает сообщение об ошибке, а затем запрашивает ввод пароля. При правильном вводе пароля соединение успешно устанавливается.
Resolution
Подключитесь к консоли целевого сервера с помощью DCUI, а затем измените challengeresponseauthentication на yes в файле конфигурации /etc/ssh/sshd_config.
Аутентификация ChallengeResponseAuthentication
Параметр ChallengeResponseAuthentication указывает, разрешена ли аутентификация с запросом и ответом для подключений SSH. Если этот параметр включен, сервер SSH требует, чтобы клиенты ответили на запрос, прежде чем разрешить им аутентификацию. Она включена по умолчанию в некоторых реализациях серверов SSH, но в некоторых системах, например в Red Hat, может быть отключена по соображениям безопасности, как описано в статье Red Hat 336773.
ChallengeResponseAuthentication — это устаревший псевдоним для KbdInteractiveAuthentication. См.: OpenSSH: Примечания к выпуску
Additional Information
Подробнее:
-
Комбинация параметров challengeresponseauthentication и passwordauthentication выдает немного другой запрос:
ChallengeResponseAuthentication имеет значение No , а PasswordAuthentication — значение Yes:

challengeresponseauthentication установлено в значение no , а passwordauthentication — в yes ИЛИ оба параметра имеют значение yes:

Дополнительные действия по устранению неполадок.
-
На стороне клиента используйте параметр -v в команде ssh для вывода отладочных сообщений о ходе выполнения работы по SSH. Несколько опций -v увеличивают детализацию (максимум 3):

…

-
На целевом сервере увеличьте уровень детализации параметра LogLevel
, чтобы получить дополнительные сведения о неудачной попытке сеанса SSH:
Уровень
журнала Задает уровень детализации, который используется при регистрации сообщений из sshd(8).Возможные значения: ТИХИЙ, НЕУСТРАНИМЫЙ, ОШИБКА, INFO, ПОДРОБНЫЙ, ОТЛАДКА, DEBUG1, DEBUG2 и DEBUG3 Значение по умолчанию — INFO. DEBUG и DEBUG1 эквивалентны. DEBUG2 и DEBUG3 задают более высокие уровни выходных данных отладки. Ведение журнала с уровнем DEBUG нарушает конфиденциальность пользователей и не рекомендуется.
- Просмотрите /var/run/log/auth.log на целевом сервере для получения дополнительных сведений об ошибке.