A tentativa de login em um servidor ESXi resultará no erro "Nenhum método de autenticação compatível disponível (servidor enviado: chave pública)"
Summary: Este artigo apresenta um guia detalhado sobre como solucionar problemas de SSH do ponto de vista do ESXi. No entanto, os conceitos e soluções discutidos aqui também são aplicáveis a outros sistemas operacionais baseados em Linux, tornando essas informações valiosas para uma gama mais ampla de ambientes. ...
Symptoms
A tentativa de login SSH em um servidor ESXi resultará no erro "Nenhum método de autenticação compatível disponível (servidor enviado: chave pública)", conforme abaixo:
Ao tentar fazer log-in de um servidor ESXi diferente, o seguinte erro é exibido:
Cause
O servidor recusa a sessão SSH porque o parâmetro "challengeresponseauthentication" no arquivo sshd_config está definido como "no" e os servidores não estão configurados corretamente para autenticação assimétrica (autenticação de chave pública e privada do RSA).
Como resultado, a tentativa de se conectar ao servidor usando o Putty resultará no erro "Nenhum método de autenticação compatível disponível (servidor enviado: chave pública).
Um comportamento semelhante é observado quando o usuário tenta estabelecer uma conexão SSH de outro host ESXi. Nesse caso, o usuário recebe o erro "Load key '/.ssh/id_rsa': error in libcrypto", mas não é desafiado a digitar a senha e a conexão falha.
Se os servidores não estiverem configurados corretamente para autenticação assimétrica, mas o parâmetro 'ChallengeResponseAuthentication' for definido como 'yes', o usuário receberá uma mensagem de erro, mas será solicitado que digite sua senha. Ao digitar corretamente a senha, a conexão é estabelecida com sucesso.
Resolution
Conecte-se ao console do servidor de destino usando a DCUI e edite a autenticação challengeresponse comoyes no arquivo de configuração /etc/ssh/sshd_config.
Autenticação
ChallengeResponseA configuração ChallengeResponseAuthentication especifica se a autenticação desafio-resposta é permitida para conexões SSH. Quando essa opção está ativada, o servidor SSH exige que os clientes respondam a um desafio antes de permitir a autenticação. Ele é ativado por padrão em algumas implementações de servidor SSH, mas pode ser desativado por motivos de segurança em alguns sistemas, como no Red Hat, conforme descrito no artigo 336773 da Red Hat.
ChallengeResponseAuthentication é um alias obsoleto para KbdInteractiveAuthentication. Referência: OpenSSH: Notas da versão
Additional Information
Mais detalhes:
-
A combinação de configuração de challengeresponseauthentication e passwordauthentication produz um prompt um pouco diferente:
ChallengeResponseAuthentication definido como No e PasswordAuthentication definido como Yes:

challengeresponseauthentication definido como não e passwordauthentication definido como yes OU ambos definidos como yes:

Mais etapas de solução de problemas:
-
No lado do client, use a opção -v no comando ssh para imprimir mensagens de depuração sobre o progresso do ssh. Várias opções -v aumentam a detalhamento (o máximo é 3):

…

-
No servidor de destino, aumente o nível de detalhamento da configuração LogLevel
para recuperar mais detalhes sobre a tentativa de sessão SSH com falha:
Nível
de registro Fornece o nível de detalhamento que é usado ao registrar mensagens do sshd(8).Os valores possíveis são: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 e DEBUG3 O padrão é INFO. DEBUG e DEBUG1 são equivalentes. DEBUG2 e DEBUG3 especificam níveis mais altos de saída de depuração. Registrar em log com um nível DEBUG viola a privacidade dos usuários e não é recomendado.
- Analise o /var/run/log/auth.log no servidor de destino para obter mais detalhes sobre o erro.