Description du problème
Une configuration PAM incorrecte sur une instance Linux peut empêcher la connexion. Consultez le fichier /var/log/secure pour y rechercher les messages d'erreur suivants :
requirement "uid >= 1000" not met by user "xxxx"user xxxx (0) has 5 failed attempts, failed attempts threshold is 3Refused user xxxx for service sshd
Solution
Vous devez vous connecter à l'instance avec un compte administratif (tel que root ou un utilisateur disposant des privilèges sudo) pour modifier les fichiers de configuration PAM.
Identification du problème
-
Connectez-vous à l'instance ECS via VNC en tant qu'administrateur.
Accédez à la page ECS console - Instances. Sélectionnez votre région et votre groupe de ressources.
Sur la page des détails de l'instance, cliquez sur Connect et sélectionnez VNC. Saisissez le nom d'utilisateur et le mot de passe pour vous connecter.
-
Examinez les journaux d'authentification pour identifier les messages d'erreur clés.
-
Le compte est verrouillé en raison d'échecs de tentative : Si le journal contient
Maximum amount of failed attempts was reached, le compte est verrouillé après plusieurs tentatives de connexion infructueuses. Déverrouillez le compte.sudo grep -i "Maximum amount of failed attempts" /var/log/secure -
La connexion de l'utilisateur est restreinte : Si le journal contient
requirement "uid >= 1000" not met by user, une règle empêche les utilisateurs dont l'UID est inférieur à 1000 de se connecter. Supprimez la restriction UID.sudo grep -i "not met by user" /var/log/secure -
L'utilisateur figure sur la liste de blocage : Si le journal contient
Refused user, cela indique qu'une liste d'autorisation ou une liste de blocage contrôle l'accès des utilisateurs. L'utilisateur figure soit sur la liste de blocage, soit il n'est pas présent sur la liste d'autorisation. Vous devez modifier la liste d'autorisation ou la liste de blocage.sudo grep -i "Refused user" /var/log/secure
-
Déverrouiller le compte
-
Vérifiez le nombre de tentatives de connexion infructueuses. Remplacez
<username>par le nom d'utilisateur concerné.sudo pam_tally2 -u <username>Si le nombre de tentatives infructueuses est supérieur à 0, le compte est verrouillé.
-
Déverrouillez le compte.
sudo pam_tally2 -u <username> -r -
(Facultatif) Désactivez définitivement la politique de verrouillage.
Modifiez le fichier
/etc/pam.d/system-authet commentez la règle contenantpam_tally2.so.sudo vim /etc/pam.d/system-authCette règle verrouille les comptes standard et root après trois tentatives de mot de passe incorrectes consécutives, avec un déverrouillage automatique après 50 secondes.
auth required pam_tally2.so deny=3 unlock_time=50Cet exemple utilise le module
pam_tally2. Le module réel peut varier selon la version de PAM. Consultez le Guide de l'administrateur système Linux-PAM. Reconnectez-vous à l'instance pour vérifier que la connexion fonctionne.
Supprimer la restriction UID
-
Localisez le fichier de configuration.
Recherchez les fichiers contenant
pam_succeed_if, tels que/etc/pam.d/sshd,/etc/pam.d/loginou/etc/pam.d/system-auth.sudo grep -r "pam_succeed_if" /etc/pam.d/ -
Modifiez la configuration.
sudo vim /etc/pam.d/sshdCommentez la ligne contenant
auth required pam_succeed_if.so uid >= 1000en ajoutant#au début.# auth required pam_succeed_if.so uid >= 1000 Reconnectez-vous à l'instance pour vérifier que la connexion fonctionne.
Modifier la liste d'autorisation ou la liste de blocage
-
Localisez le fichier de configuration.
Recherchez les fichiers contenant
pam_listfile, tels que/etc/pam.d/sshd,/etc/pam.d/loginou/etc/pam.d/system-auth.sudo grep -r "pam_listfile" /etc/pam.d/ -
Examinez la configuration.
sudo vim /etc/pam.d/sshdLe paramètre
senseindique s'il s'agit d'une liste d'autorisation (sense=allow) ou d'une liste de blocage (sense=deny). Notez le chemin du fichier indiqué dans le paramètrefile=, par exemple/etc/ssh/whitelistou/etc/ssh/blacklist.# A whitelist is configured. Only users in the whitelist are allowed to log on. auth required pam_listfile.so item=user sense=allow file=/etc/ssh/whitelist onerr=fail # A blacklist is configured. Users in the blacklist are prohibited from logging on. auth required pam_listfile.so item=user sense=deny file=/etc/ssh/blacklist onerr=fail -
Modifiez le fichier de liste.
-
Pour une liste d'autorisation : ajoutez le nom d'utilisateur sur une nouvelle ligne. Enregistrez et quittez.
sudo vim /etc/ssh/whitelist -
Pour une liste de blocage : supprimez la ligne contenant le nom d'utilisateur cible. Enregistrez et quittez.
sudo vim /etc/ssh/blacklist
-
Reconnectez-vous à l'instance pour vérifier que la connexion fonctionne.