El intento de inicio de sesión en un servidor ESXi genera el error "No supported authentication methods available (server sent: publickey)"
Summary: En este artículo, se proporciona una guía detallada sobre la solución de problemas de SSH desde una perspectiva de ESXi. Sin embargo, los conceptos y las soluciones analizados aquí también se aplican a otros sistemas operativos basados en Linux, lo que hace que esta información sea valiosa para una gama más amplia de entornos. ...
Symptoms
El intento de inicio de sesión mediante SSH en un servidor ESXi genera el error "No supported authentication methods available (server sent: publickey)" como se indica a continuación:
Cuando se intenta iniciar sesión desde un servidor ESXi diferente, se muestra el siguiente error:
Cause
El servidor rechaza la sesión de SSH porque el parámetro "challengeresponseauthentication" en el archivo sshd_config está configurado en "no" y los servidores no están configurados correctamente para la autenticación asimétrica (autenticación de clave privada y pública de RSA).
Como resultado, el intento de conectarse al servidor mediante Putty genera el error "No hay métodos de autenticación compatibles disponibles (servidor enviado: clave pública).
Se observa un comportamiento similar cuando el usuario intenta establecer una conexión SSH desde otro host ESXi. En este caso, el usuario recibe el error "Load key '/.ssh/id_rsa': error in libcrypto", pero no se le solicita que ingrese la contraseña y la conexión falla.
Si los servidores no están configurados correctamente para la autenticación asimétrica, pero el parámetro "ChallengeResponseAuthentication" está configurado en "yes", el usuario recibe un mensaje de error, pero se le solicita que ingrese su contraseña. Después de ingresar correctamente la contraseña, la conexión se establece correctamente.
Resolution
Conéctese a la consola del servidor de destino mediante la DCUI y, a continuación, edite challengeresponseauthentication a yes en el archivo de configuración /etc/ssh/sshd_config.
DesafíoRespuestaAutenticación:
El ajuste ChallengeResponseAuthentication especifica si se permite la autenticación de respuesta ante desafíos para las conexiones SSH. Cuando esta opción está habilitada, el servidor SSH requiere que los clientes respondan a un desafío antes de permitirles autenticarse. Está habilitado de manera predeterminada en algunas implementaciones de servidor SSH, pero se puede deshabilitar por motivos de seguridad en algunos sistemas, como en Red Hat, como se describe en el artículo 336773 de Red Hat.
ChallengeResponseAuthentication es un alias obsoleto para KbdInteractiveAuthentication. Referencia: OpenSSH: Notas de la versión
Additional Information
Más detalles:
-
La combinación de la configuración de challengeresponseauthentication y passwordauthentication genera un indicador ligeramente diferente:
ChallengeResponseAuthentication configurado en No y PasswordAuthentication configurado en Yes:

ChallengeResponseAuthentication configurado en No y PasswordAuthentication configurado en yes O ambos configurados en yes:

Más pasos para solucionar problemas:
-
Desde el lado del cliente, utilice la opción -v en el comando ssh para imprimir mensajes de depuración sobre el progreso de ssh. Varias opciones de -v aumentan el nivel de detalle (el máximo es 3):

…

-
En el servidor de destino, aumente el nivel de detalle de la configuración LogLevel
para recuperar más detalles sobre el intento fallido de sesión SSH:
Nivel
de registro Proporciona el nivel de detalle que se utiliza cuando se registran mensajes de sshd(8).Los valores posibles son: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 Y DEBUG3 El valor predeterminado es INFO. DEBUG y DEBUG1 son equivalentes. DEBUG2 y DEBUG3 especifican niveles más altos de salida de depuración. El registro con un nivel DEBUG infringe la privacidad de los usuarios y no se recomienda.
- Revise /var/run/log/auth.log en el servidor de destino para obtener más detalles sobre el error.