Lorsque Security-Enhanced Linux (SELinux) est en mode enforcing sur une instance ECS, la connexion SSH peut échouer même avec le mot de passe correct.
Symptôme
Vous saisissez le mot de passe correct pour vous connecter à une instance ECS Linux via SSH, mais la connexion échoue. Un ou plusieurs des messages d'erreur suivants apparaissent dans la sortie de commande ou dans /var/log/secure :
Permission denied, please try again.
error: Could not get shadow information for root.
Cause
SELinux est configuré en mode enforcing. Dans ce mode, SELinux empêche le démon SSH d'accéder aux fichiers d'authentification tels que /etc/shadow, ce qui entraîne l'échec de la vérification du mot de passe.
Diagnostic
Exécutez la commande suivante sur l'instance pour vérifier l'état de SELinux. Si SSH n'est pas disponible, connectez-vous via la console VNC dans la console ECS.
getenforce
Si la sortie est Enforcing, SELinux est actif et bloque probablement l'authentification SSH.
Solution
Désactivez SELinux temporairement ou définitivement pour rétablir l'accès SSH.
Option 1 : Désactiver SELinux temporairement
Exécutez la commande suivante pour basculer SELinux en mode permissif. Cette modification prend effet immédiatement sans redémarrage, mais sera annulée après un redémarrage.
setenforce 0
Option 2 : Désactiver SELinux définitivement
-
Ouvrez le fichier de configuration de SELinux :
vi /etc/selinux/config -
Définissez le paramètre
SELINUXsurdisabled:SELINUX=disabled Enregistrez le fichier et redémarrez l'instance pour que la modification prenne effet.
Pour des instructions détaillées et des options supplémentaires, consultez
.
Vérification
Après avoir désactivé SELinux, vérifiez que l'accès SSH est rétabli :
Ouvrez une nouvelle session SSH vers l'instance.
Connectez-vous avec le mot de passe correct et confirmez que les erreurs
Permission deniedetCould not get shadow informationn'apparaissent plus.Exécutez
getenforcepour confirmer que SELinux est défini surPermissiveouDisabled.