Description du problème
Lorsque vous utilisez un client SSH tiers pour vous connecter à une instance Linux, le serveur rejette la connexion même si les identifiants sont corrects. Vous recevez l'un des messages d'erreur suivants :
Permission denied (publickey,gssapi-keyex,gssapi-with-mic) # Error message 1: All attempted authentication methods were rejected by the server.
No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic) # Error message 2: No mutually supported authentication method was found.
Connection closed by XX.XX.XX.XX # Error message 3: The server closed the connection during the authentication phase.
Solutions
Échec de la connexion par mot de passe : vérifiez que la connexion par mot de passe n'est pas désactivée dans la configuration de l'instance.
-
Échec de la connexion par clé :
Vérifiez que la connexion par clé n'est pas désactivée dans la configuration de l'instance.
Assurez-vous que la clé publique est correctement ajoutée au fichier
~/.ssh/authorized_keysde l'utilisateur.
Cas d'utilisation 1 : échec de la connexion par mot de passe
-
Connectez-vous à l'instance Elastic Compute Service (ECS).
Accédez à Console ECS - Instances. Dans le coin supérieur gauche, sélectionnez la région et le groupe de ressources correspondant à la ressource cible.
Accédez à 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 à l'instance ECS.
-
Activez l'authentification par mot de passe.
Modifiez le fichier de configuration SSH. Assurez-vous que le paramètre
PasswordAuthenticationest défini suryes. Si la ligne est commentée (commence par un#), supprimez le caractère#.sudo vim /etc/ssh/sshd_config -
Redémarrez le service SSH pour appliquer les modifications.
-
Pour Alibaba Cloud Linux et CentOS :
sudo systemctl restart sshd.service -
Pour Debian et Ubuntu :
sudo systemctl restart ssh.service
-
-
Vérifiez la résolution du problème.
Depuis votre client SSH, tentez à nouveau de vous connecter avec le mot de passe pour vérifier que le problème est résolu.
Cas d'utilisation 2 : échec de la connexion par clé
-
Connectez-vous à l'instance ECS.
Accédez à Console ECS - Instances. Dans le coin supérieur gauche, sélectionnez la région et le groupe de ressources correspondant à la ressource cible.
Accédez à la page des détails de l'instance, cliquez sur Connect et sélectionnez Workbench. Suivez les instructions à l'écran pour vous connecter et accéder au terminal.
-
Activez la connexion par clé.
-
Modifiez le fichier de configuration SSH.
sudo vim /etc/ssh/sshd_config -
En mode édition, localisez le paramètre
PubkeyAuthentication.Si la valeur est
noou si la ligne est commentée, la connexion par clé est désactivée. Décommentez la ligne, modifiez la valeur enyes, puis enregistrez et quittez le fichier.Si la valeur est
yes, passez à l'étape copier la clé publique dans le fichier authorized_keys de l'utilisateur.
-
-
Copiez la clé publique dans le fichier
authorized_keysde l'utilisateur.Utilisateur root
-
Modifiez le fichier
authorized_keys.sudo vim /root/.ssh/authorized_keysCollez la clé publique dans le fichier, chaque clé devant figurer sur une nouvelle ligne. Ensuite, enregistrez et fermez le fichier.
-
Définissez les autorisations du fichier.
Des autorisations incorrectes peuvent entraîner l'échec de la connexion SSH.
sudo chmod 700 /root/.ssh sudo chmod 600 /root/.ssh/authorized_keys
Utilisateur non root
Dans les commandes ci-dessous, remplacez
<username>par le nom d'utilisateur de connexion cible.-
Modifiez le fichier
authorized_keys.sudo vim /home/<username>/.ssh/authorized_keysCollez la clé publique dans le fichier, chaque clé devant figurer sur une nouvelle ligne. Ensuite, enregistrez et fermez le fichier.
-
Définissez les autorisations du fichier.
Des autorisations incorrectes peuvent entraîner l'échec de la connexion SSH.
sudo chown -R <username>:<username> /home/<username>/.ssh sudo chmod 700 /home/<username>/.ssh sudo chmod 600 /home/<username>/.ssh/authorized_keys
-
-
Pour appliquer les modifications, redémarrez le service SSH.
-
Pour Alibaba Cloud Linux et CentOS :
sudo systemctl restart sshd.service -
Pour Debian et Ubuntu :
sudo systemctl restart ssh.service
-
-
Vérifiez la résolution du problème.
Depuis votre client SSH, tentez à nouveau de vous connecter avec la paire de clés pour vérifier que le problème est résolu.