J'essaie de configurer mon système pour me permettre de me connecter (ssh) à un compte local sur un hôte (Ubuntu 16.04) avec authentification par clé publique, même si/quand Le serveur LDAP est en panne.Clé publique authentifiant l'utilisateur local lorsque le serveur LDAP est en panne
Il s'agit d'une image dans le cloud, donc l'utilisateur dont j'ai besoin localement est ubuntu
. Cet utilisateur n'a pas de mot de passe (et je ne veux pas en définir un pour la sécurité). Seule la clé publique auth doit être autorisée sur cet utilisateur.
Cet utilisateur a UID 1001
et tous mes utilisateurs LDAP ont des numéros UID> = 2000.
J'ai essayé des choses toute la journée (comme pam_succeed_if.so
et pam_localuser
).
Maintenant, getent passed ubuntu
fonctionne correctement et renvoie la ligne de mot de passe locale. Mais ssh
refuse comme ceci:
Sep 6 17:27:43 ip-10-99-0-241 sshd[24895]: nss_ldap: could not connect to any LDAP server as (null) - Can't contact LDAP server
Sep 6 17:27:43 ip-10-99-0-241 sshd[24895]: nss_ldap: failed to bind to LDAP server ldaps://ldap.domain.tld: Can't contact LDAP server
Sep 6 17:27:43 ip-10-99-0-241 sshd[24895]: nss_ldap: reconnecting to LDAP server...
Et puis finalement il échoue avec Authentication failed.
.
/etc/nsswitch.conf
passwd: compat [success=return] ldap group: compat [success=return] ldap shadow: compat [success=return] ldap
/etc/pam.d/common-account
account [success=2 new_authtok_reqd=done default=ignore] pam_unix.so # NOTE: These two won't work - fatal: Access denied for user <ldap user> by PAM account configuration [preauth] #account sufficient pam_localuser.so #account sufficient pam_succeed_if.so uid [le sign] 500 quiet account [success=1 default=bad success=ok user_unknown=ignore] pam_ldap.so account requisite pam_deny.so account required pam_permit.so account required pam_krb5.so minimum_uid=2000
/etc/pam.d/common-auth
auth [success=3 default=ignore] pam_krb5.so minimum_uid=2000 ignore_root auth [success=2 default=ignore] pam_unix.so nullok_secure try_first_pass auth [success=1 default=ignore] pam_ldap.so use_first_pass ignore_unknown_user ignore_authinfo_unavail # NOTE: Can't login with this (changed the success above)! #auth requisite pam_succeed_if.so uid [ge sign] 500 quiet auth requisite pam_deny.so auth required pam_permit.so
/etc/ldap.conf
bind_timelimit 10 pam_min_uid 2000 nss_initgroups_ignoreusers ubuntu,local nss_reconnect_tries 2 nss_reconnect_sleeptime 1 nss_reconnect_maxsleeptime 8 nss_reconnect_maxconntries 2
(j'ai essayé d'utiliser les blocs de pré et le code, mais SOF a refusé de me laisser poster alors, désolé si cela semble horrible - si quelqu'un avec des droits d'administrateur peut aller et fixer, s'il vous plaît faire)