GNU/Linux >> Tutoriels Linux >  >> Linux

Comment réparer l'échec de l'autorisation SSH refusée (publickey, gssapi-keyex, gssapi-with-mic)

Présentation

L'erreur Autorisation SSH refusée s'affiche après la modification des paramètres liés à l'autorisation sur le serveur SSH. Les scénarios habituels incluent une nouvelle installation de package ou la création de nouveaux utilisateurs.

Dans ce didacticiel, vous apprendrez à résoudre l'erreur d'autorisation SSH refusée et à vous reconnecter à votre serveur SSH.

Prérequis

  • Client SSH sur la machine locale et serveur SSH sur le système distant
  • Un compte utilisateur pour accéder au serveur distant (pour une connexion par mot de passe)
  • Un compte utilisateur avec sudo ou racine privilèges

Qu'est-ce qui cause le refus d'autorisation SSH (publickey, gssapi-keyex, gssapi-with-mic) ?

L'erreur d'autorisation SSH refusée s'affiche lorsque vous essayez de vous connecter en SSH à un serveur :

Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

Après l'instruction Autorisation refusée, la parenthèse contient les méthodes d'authentification tentées qui ont échoué lors de l'établissement de la connexion. L'erreur suggère que la clé publique est le problème, ce qui est trompeur.

Une des raisons de l'erreur peut être sshd_config , le fichier qui contient la configuration du serveur SSH. L'autre possibilité est que les authorized_keys le fichier a des autorisations insuffisantes. Ce fichier contient la liste des clés publiques pour les clients autorisés à se connecter en SSH au serveur. Par conséquent, l'incapacité du système à lire le fichier entraîne l'erreur Autorisation refusée.

Comment réparer l'autorisation SSH refusée

Les deux solutions contiennent des étapes que vous devez effectuer côté serveur. Commencez par ouvrir le terminal sur votre serveur et passez à l'une des solutions ci-dessous.

Solution 1 :Activer l'authentification par mot de passe

Si vous souhaitez utiliser un mot de passe pour accéder au serveur SSH, une solution pour corriger l'erreur d'autorisation refusée consiste à activer la connexion par mot de passe dans sshd_config fichier.

Pour ce faire, ouvrez le fichier dans un éditeur de texte. Cet exemple utilise l'éditeur nano :

sudo nano /etc/ssh/sshd_config

Dans le fichier, recherchez le PasswordAuthentication ligne et assurez-vous qu'elle se termine par yes .

Trouvez le ChallengeResponseAuthentication option et désactivez-la en ajoutant no .

Si des lignes sont commentées, supprimez le signe dièse # pour les décommenter.

Enregistrez le fichier et quittez.

Redémarrez le service SSH en tapant la commande suivante :

sudo systemctl restart sshd

Solution 2 :modifier les autorisations du système de fichiers

L'utilisation de la connexion par mot de passe comme méthode d'authentification SSH n'est pas recommandée pour des raisons de sécurité. Par conséquent, la solution suivante peut être préférable car elle résout les problèmes de la méthode d'authentification par clé publique.

Tout d'abord, ouvrez le sshd_config fichier à l'aide d'un éditeur de texte :

sudo nano /etc/ssh/sshd_config

Dans le fichier, assurez-vous que les options suivantes sont définies comme suit :

PermitRootLogin no
PubkeyAuthentication yes

Commentez les options liées à GSSAPI en ajoutant le signe dièse au début de la ligne :

#GSSAPIAuthentication yes
#GSSAPICleanupCredentials no

Assurez-vous également que UsePAM la ligne est définie sur yes :

UsePAM yes

Enregistrez le fichier et redémarrez le service sshd :

systemctl restart sshd

Accédez maintenant à votre dossier personnel et vérifiez les autorisations :

ls -ld

Si vos autorisations de propriétaire ne sont pas définies pour lire, écrire et exécuter (drwx------ ), utilisez la commande chmod pour les modifier :

chmod 0700 /home/[your-username]

Allez maintenant dans le .ssh dossier et revérifiez les autorisations :

ls -ld

Ce répertoire doit également avoir des autorisations de lecture, d'écriture et d'exécution pour le propriétaire du fichier. Pour les appliquer, utilisez chmod encore :

chmod 0700 /home/your_home/.ssh

Le .ssh dossier contient les authorized_keys dossier. Vérifiez ses autorisations avec :

ls -ld authorized_keys

Le propriétaire du fichier doit disposer des autorisations de lecture et d'écriture. Pour les définir, utilisez :

chmod 0600 /home/[username]/.ssh/authorized_keys

Maintenant, essayez à nouveau de vous connecter avec la paire de clés. La sortie ci-dessous montre une tentative de connexion réussie.


Linux
  1. Comment augmenter le délai d'expiration de la connexion SSH

  2. Comment réparer l'erreur Docker Permission Denied sur Ubuntu

  3. Git :échec de l'ouverture du fichier d'index :autorisation refusée sur le statut git. Hébergé sur Bitbucket

  4. maven:autorisation bash mvn refusée

  5. "Autorisation refusée" à un fichier que je possède ?

Comment créer un serveur de fichiers personnel avec SSH sous Linux

Comment corriger l'erreur Vous n'êtes pas autorisé à accéder…

Comment répertorier les connexions SSH infructueuses sous Linux

Comment réparer une erreur de conversion avec Calibre

Autorisation de montage CIFS refusée sous Linux - Corrigé !

SSH - Comment inclure la commande -t dans le fichier ~/.ssh/config