Recherche de site Web

Comment réparer l’erreur d’autorisation SSH refusée (clé publique)


SSH, acronyme de Secure Shell, est un protocole distant largement utilisé pour établir des connexions à distance aux serveurs, aux périphériques réseau et à d’autres hôtes distants qui exécutent le service. Il utilise une paire de clés publique/privée pour chiffrer le trafic entre l’utilisateur et l’hôte distant.

Lors de l’établissement d’une connexion, vous pouvez rencontrer l’erreur « Autorisation ssh refusée clé publique ». Dans ce guide, nous cherchons à comprendre la cause de cette erreur et comment y remédier.

Cause de l’erreur d’autorisation SSH refusée (clé publique)

La cause première de cette erreur est principalement une mauvaise configuration dans le fichier /etc/ssh/sshd_config qui est le fichier de configuration SSH par défaut.

Un autre coupable est l’insuffisance des autorisations sur le fichier authorized_keys sur le système distant. Le fichier contient les clés publiques des systèmes clients autorisés à se connecter en SSH au serveur.

Sans plus tarder, voyons les solutions possibles pour résoudre cette erreur.

Activer l’authentification par mot de passe

Comme nous l’avons souligné précédemment, l’une des raisons attribuées à cette erreur est une mauvaise configuration du fichier /etc/ssh/sshd_config. L’un des mauvais paramètres est la désactivation de la fonction d’authentification par mot de passe. Cela peut se produire si quelqu’un utilise uniquement l’authentification basée sur la clé SSH et que, pour une raison quelconque, la clé privée n’est pas présente.

Pour résoudre cette erreur, modifiez le fichier de configuration SSH par défaut.

$ sudo vim /etc/ssh/sshd_config

Recherchez l’attribut PasswordAuthentication et définissez-le sur yes comme indiqué ci-dessous.

Enregistrez les modifications et quittez le fichier de configuration. Redémarrez ensuite le service SSH pour que les modifications entrent en vigueur.

$ sudo systemctl restart sshd

Vous devriez maintenant être en mesure de vous connecter de manière transparente à l’hôte distant.

Vérifier l’autorisation de Authorized_keys SSH

Parfois, l’erreur provient d’autorisations incorrectes et de la propriété du fichier ~/.ssh/authorized_keys sur le système distant.

Le fichier ~/.ssh/authorized_keys se trouve sur le serveur distant. Il contient la clé SSH publique du système client qui s’y connecte à l’aide de l’authentification par clé SSH. N’oubliez pas que la clé privée doit rester sur le système client et ne jamais être partagée.

Le fichier authorized_keys doit appartenir à l’utilisateur sur le système distant. En outre, l’utilisateur doit disposer d’autorisations de lecture et d’écriture.

Si ce n’est pas le cas, définissez les autorisations sur le fichier comme indiqué.

$ sudo chmod 600 ~/.ssh/authorized_keys
ls -l .ssh/authorized_keys

De retour sur le système client, assurez-vous que les clés publiques et privées disposent des autorisations appropriées.

  • La clé privée ne doit disposer d’autorisations de lecture et d’écriture que pour le propriétaire du fichier.
  • La clé publique doit disposer d’autorisations de lecture et d’écriture pour le propriétaire du fichier et d’autorisations de lecture pour le groupe et les autres utilisateurs globaux.

Si ce n’est pas le cas, configurez les permissions comme suit au format octal.

$ sudo chmod 600 ~/.ssh/id_rsa
sudo chmod 644 ~/.ssh/id_rsa.pub

Ce sont les deux principales méthodes que vous pouvez utiliser pour résoudre l’erreur « autorisation ssh clé publique refusée ». Avons-nous oublié quelque chose d’autre ? Faites-le nous savoir dans la section des commentaires.

Articles connexes: