Le contexte/comportement est le suivant : si vous vous connectez à la boîte par ssh et que GSSAPI/Kerberos réussit, et que vous avez un utilisateur local dans la base de données de la boîte. /etc/passwd vous vous connectez bien selon la configuration PAM ci-dessous. Tout va bien.
Mais si vous n'avez pas d'utilisateur local en /etc/passwd mais vous pouvez obtenir un ticket de service host/XXXXXX (GSSAPI fonctionne), sshd échoue la connexion et ne reçoit jamais d'invite pour SecurID (notre pam radius pointe vers un SecurID). Je comprends cela. Puisque le serveur a 'authentifié' l'utilisateur et que pam_unix connaît l'utilisateur n'est pas dans /etc/passwd, il n'y a pas besoin d'utiliser d'autres méthodes d'authentification.
Cependant, ma question est la suivante : pourquoi, si je lance d'abord kdestroy (en faisant intentionnellement échouer GSSAPI), (et que je n'existe toujours pas dans /etc/passwd), est-ce que j'obtiens soudainement une invite Securid (c'est-à-dire que PAM est engagé) ?
L'exécution de sshd avec débogage montre : clavier-interactif reporté pour l'utilisateur invalide "user". Premièrement, pourquoi n'aurait-il pas simplement échoué ? Deuxièmement, pourquoi un retard ? pam_radius est 'requisite', pas 'required'.
Je m'attendrais également à un échec pur et simple, car même si je ne me suis pas authentifié, je n'ai jamais réussi à passer le cap de pam_unix.
Les dossiers :
/etc/ssh/sshd_config
....
ChallengeResponseAuthentication yes
GSSAPIAuthentication yes
HostbasedAuthentication no
KerberosAuthentication no
PasswordAuthentication no
PubkeyAuthentication yes
RhostsRSAAuthentication no
RSAAuthentication yes
UsePAM yes
....
/etc/pam.d/sshd
auth requisite pam_radius_auth.so conf=pam_radius_auth.conf debug retry=3
auth required pam_nologin.so
auth required pam_krb5.so.1
account sufficient pam_radius_auth.so conf=pam_radius_auth.conf
account required pam_stack.so service=system-auth
password required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth
session required pam_limits.so
session optional pam_console.so
/etc/pam.d/system-auth
auth required pam_env.so
auth sufficient pam_krb5.so.1
auth sufficient pam_unix.so
auth required pam_deny.so
account required pam_unix.so
password required pam_cracklib.so retry=3
password sufficient pam_unix.so use_authtok md5 shadow
password required pam_deny.so
session required pam_limits.so
session required pam_unix.so