Determinación del mecanismo de autenticación SSH sin contraseña

0

Estoy tratando de entender el mecanismo por el cual estoy realizando con éxito la autenticación SSH sin contraseña. Aunque la autenticación de clave pública está habilitada, no es así como está sucediendo. Tengo mi clave pública comentada en mi archivo autorizado_claves . Además, ni siquiera estoy seguro de si el archivo autorizado de claves personal de mi usuario entra en juego ya que estamos utilizando la implementación LDAP de FreeIPA para la autenticación.

La configuración SSH del lado del cliente hace que parezca que se está utilizando autenticación basada en host. Sin embargo, la configuración SSH del lado del servidor tiene la autenticación basada en host deshabilitada.

A continuación, proporciono lo que creo que es toda la información de configuración relevante.

De lo que se proporciona a continuación, ¿alguien podría explicarme cómo se produce la autenticación sin contraseña? Si no, ¿qué información adicional puedo proporcionar para ayudar?

¡Gracias de antemano!

Versiones de software

CentOS: 7.3.1611

ipa-client.x86_64 4.4.0-14.el7.centos.7
ipa-client-common.noarch 4.4.0-14.el7.centos.7
ipa-common.noarch 4.4.0-14.el7.centos.7
sssd-ipa.x86_64 1.14.0-43.el7_3.18

openssh.x86_64 6.6.1p1-35.el7_3

sssd.x86_64 1.14.0-43.el7_3.18
sssd-ad.x86_64 1.14.0-43.el7_3.18
sssd-client.x86_64 1.14.0-43.el7_3.18
sssd-common.x86_64 1.14.0-43 .el7_3.18
sssd-common-pac.x86_64 1.14.0-43.el7_3.18
sssd-ipa.x86_64 1.14.0-43.el7_3.18
sssd-krb5.x86_64 1.14.0-43.el7_3.18
sssd- krb5-common.x86_64 1.14.0-43.el7_3.18
sssd-ldap.x86_64 1.14.0-43.el7_3.18
sssd-proxy.x86_64 1.14.0-43.el7_3.18

Configuración del cliente SSH

Autenticación Pubkey sí
GlobalKnownHostsFile / var / lib / sss / pubconf / known_hosts
ProxyCommand / usr / bin / sss_ssh_knownhostsproxy -p% p% h

Host *
GSSAPIAutenticación sí

Configuración del servidor SSH

A continuación, proporciono las opciones de configuración de sshd que creo que son relevantes. Avíseme si se necesita el valor de otras opciones. Estos se obtuvieron ejecutando sshd -T en lugar de simplemente copiando y pegando desde / etc / ssh / sshd_config. Por lo tanto, deberían ser lo que realmente está vigente.

AllowTcpForwarding sí
AuthenticationMethods cualquier
authorizedkeyscommand / usr / bin / sss_ssh_authorizedkeys
AuthorizedKeysFile .ssh / authorized_keys
ChallengeResponseAuthentication sí
gatewayports no
GSSAPIAuthentication sí
gssapicleanupcredentials sí
gssapienablek5users no hay
gssapikexalgorithms GSS-GEX-sha1-, GSS-grupo1-sha1-, GSS-group14-sha1-
gssapikeyexchange no
gssapistorecredentialsonrekey no
gssapistrictacceptorcheck sí
hostbasedauthentication no
hostbasedusesnamefrompacket solamente no
ignoreuserknownhosts no
kbdinteractiveauthentication sí
kerberosauthentication no
kerberosorlocalpasswd sí
kerberosticketcleanup sí
kerberosusekuserok sí
passwordautheication si
permitopen cualquier
permiso tunnel no
permituserenvironment no
pubkeya autentification sí
estrictodes sí
usedns no
uselogin no
usepam yes

Dave
fuente
3
Haga ssh -v {host}y tendrá una lista completa de los protocolos de autenticación que se verifican (el último es el utilizado).
xenoid
incluso puede aumentar la verbosidad del cliente usando 'ssh -vvv user @ host'
tonioc
debug1: Autenticación exitosa (gssapi-with-mic). Autenticado en {host} (a través de proxy). Vale gracias. No estoy familiarizado con gssapi-with-mic, pero al menos ahora sé sobre qué leer y aprender.
Dave
Entonces puedes aceptar la respuesta :)
xenoid
Creo que debe agregarse como respuesta en lugar de como comentario. ¡Aceptaré cuando pueda! :)
Dave

Respuestas:

0

Publicando el comentario de Xenoid como respuesta:

Haga ssh -v {host} y tendrá una lista completa de los protocolos de autenticación que se verifican (el último es el que se usa). - xenoid 2 de julio a las 20:20

NOTA: Crédito debido a Xenoid

Dave
fuente
0

De su lista de paquetes:

sssd-ipa.x86_64 1.14.0-43.el7_3.18

sssd-krb5.x86_64 1.14.0-43.el7_3.18

Desde la configuración de su servidor SSH:

autenticación gssapia si

Desde su configuración de cliente SSH:

GSSAPIA autenticación sí

Según su información, supongo que ha inscrito a su host como cliente IPA con FreeIPA y probablemente esté utilizando el inicio de sesión único basado en Kerberos a través de GSSAPI .

Principalmente lo habría hecho kinit [email protected]antes del inicio de sesión SSH para obtener un ticket de concesión de tickets Kerberos (TGT) que puede enumerar con el comando klistjunto con los tickets de servicio obtenidos.

Para saber con certeza, sería útil mirar la salida de ssh -vcomo ya escribieron otros y si agrega qué documentos / procedimientos ha seguido al configurar todo esto.

Michael Ströder
fuente