SSH, acronyme de Secure Shell, est un protocole distant largement utilisé pour établir des connexions à distance avec des serveurs, des 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 le « autorisation ssh refusée clé publique » erreur. 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 principale de cette erreur est principalement une mauvaise configuration dans le /etc/ssh/sshd_config qui est le fichier de configuration SSH par défaut.
Un autre coupable est des autorisations insuffisantes sur le clés_autorisées fichier 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, examinons les solutions possibles pour résoudre cette erreur.
Activer l’authentification par mot de passe
Comme indiqué précédemment, l’une des raisons attribuées à cette erreur est une mauvaise configuration du /etc/ssh/sshd_config déposer. L’un des paramètres erronés 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
Localisez le PasswordAuthentication
attribut et réglez-le sur yes
comme indiqué ci-dessous.
Enregistrez les modifications et quittez le fichier de configuration. Redémarrez ensuite le SSH service pour que les modifications entrent en vigueur.
$ sudo systemctl restart sshd
Vous devriez maintenant pouvoir vous connecter de manière transparente à l’hôte distant.
Vérifier l’autorisation SSH Authorized_keys
Parfois, l’erreur provient d’autorisations incorrectes et de la propriété du ~/.ssh/authorized_keys fichier sur le système distant.
Le ~/.ssh/authorized_keys fichier 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 clés_autorisées Le fichier 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 Public et Clés privées avoir les bonnes autorisations.
- Le Clé privée doit avoir des autorisations de lecture et d’écriture uniquement pour le propriétaire du fichier.
- Le Clé publique doit avoir des autorisations de lecture et d’écriture pour le propriétaire du fichier et des 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 principaux moyens que vous pouvez utiliser pour dépanner le « autorisation ssh refusée clé publique » erreur. Avons-nous oublié autre chose ? Faites-le nous savoir dans la section des commentaires.