Comment réparer l'erreur d'autorisation refusée (Publickey)

Publié: 2024-01-10
Table des matières
  • Pourquoi est-ce important
  • Bases des connexions informatiques sécurisées
  • Clé de la serrure : clés publiques
  • Pourquoi cette erreur se produit-elle ?
  • Comment le réparer
  • Conseils supplémentaires si cela ne fonctionne toujours pas
  • Maintenir son bon fonctionnement
  • FAQ
  • Autres ressources
  • Emballer

Avez-vous déjà rencontré le message « Erreur : autorisation refusée (Publickey) » lors de l'utilisation de votre ordinateur ? Il s'agit d'une erreur courante qui apparaît généralement lors des connexions SSH, qui permet aux ordinateurs de communiquer entre eux en toute sécurité.

Pensez-y comme si vous essayiez d'utiliser une clé qui ne correspond pas à la serrure. Lorsque vous voyez cette erreur, cela signifie que votre ordinateur a du mal à établir une liaison sécurisée avec un autre ordinateur, car quelque chose dans la configuration de sécurité ne correspond pas.

Comment corriger l'erreur : autorisation refusée (Publickey)

Pourquoi est-ce important

Les connexions sécurisées, comme celles établies avec SSH, ressemblent à une conversation privée dans une pièce bruyante. Vous ne voudriez pas que tout le monde vous entende, surtout si vous partagez des secrets ou des informations personnelles, n'est-ce pas ? C'est pourquoi il est si important de corriger cette erreur.

Il maintient les conversations de votre ordinateur privées et sécurisées, garantissant que les informations sensibles telles que les mots de passe restent confidentielles.

Bases des connexions informatiques sécurisées

Voyons ce qu'est SSH.

SSH signifie Secure Shell et constitue un moyen spécial permettant aux ordinateurs de communiquer entre eux sur Internet de manière ultra sécurisée. Imaginez SSH comme un tunnel privé spécial qui connecte deux ordinateurs.

Seuls ces deux ordinateurs peuvent s’envoyer des messages via ce tunnel, protégeant ainsi leur conversation des oreilles indiscrètes.

Clé de la serrure : clés publiques

Pour sécuriser ce tunnel, SSH utilise ce qu'on appelle « l'authentification par clé publique ». C'est comme avoir un mot de passe spécial, mais sous la forme d'une clé. Votre ordinateur possède une clé unique (appelée clé publique) qu'il partage avec l'autre ordinateur.

Pensez-y comme à une poignée de main secrète. Si la poignée de main ne correspond pas, la connexion n'aura pas lieu, et c'est à ce moment-là que vous verrez le message « Erreur : autorisation refusée (Publickey) » .

Pourquoi cette erreur se produit-elle ?

Alors, pourquoi voyez-vous cette erreur ? Il existe plusieurs raisons courantes :

  1. Problèmes clés : Parfois, l'erreur se produit parce qu'il y a un problème avec la configuration de votre clé spéciale. Peut-être que la clé de votre ordinateur ne correspond pas à celle de l'ordinateur avec lequel vous essayez de parler. C'est comme essayer de placer une cheville carrée dans un trou rond : cela ne fonctionnera tout simplement pas.
  2. Mauvais paramètres : dans d'autres cas, les paramètres ou les autorisations de votre ordinateur peuvent être mal configurés. Cela peut empêcher votre ordinateur d'utiliser la clé correctement, comme avoir la bonne clé mais ne pas pouvoir la tourner dans la serrure.

Comment le réparer

Maintenant que vous comprenez un peu pourquoi cette erreur se produit, parlons de la façon de la corriger. Voici quelques étapes que vous pouvez suivre :

Vérifiez les autorisations de la clé SSH :

Définissez les autorisations correctes pour votre clé privée.

 chmod 600 ~/.ssh/id_rsa chmod 600 ~/.ssh/autorized_keys

Assurez-vous que votre clé publique se trouve dans ~/.ssh/authorized_keys sur le serveur. Sinon, ajoutez-le en utilisant :

chat ~/.ssh/id_rsa.pub | ssh utilisateur@nom d'hôte 'cat >> ~/.ssh/authorized_keys'.

Débogage de la connexion SSH

Exécutez ssh -vvv user@hostname pour activer le mode détaillé, fournissant ainsi des diagnostics de connexion détaillés.

Vérifiez sur le serveur les configurations correctes, en particulier pour PasswordAuthentication et PubkeyAuthentication .

chat etc/ssh/sshd_config

Solutions supplémentaires :

Vérifiez à nouveau que vous utilisez le bon nom d'utilisateur pour la connexion SSH.

Redémarrez le service SSH pour actualiser les connexions.

 sudo systemctl restart sshd

Vérifiez le port de connexion SSH dans le fichier de configuration SSH. La valeur par défaut est généralement 22, mais elle peut avoir été modifiée.

vérifier le port ssh

Vérifiez les journaux du serveur, comme /var/log/auth.log ou /var/log/secure, pour les détails de l'erreur.

Conseils supplémentaires si cela ne fonctionne toujours pas

Si vous avez essayé ces étapes et que l'erreur persiste, voici quelques autres solutions à essayer :

  1. Mode conversation : activez le mode détaillé dans SSH. C'est comme demander à votre ordinateur de vous donner plus d'indices sur ce qui ne va pas. Pour ce faire, ajoutez -vvv à votre commande SSH, comme ssh -vvv [email protected] . Cela vous donnera beaucoup plus de détails sur ce qui se passe lorsque vous essayez de vous connecter.
  2. Problèmes d'agent : Parfois, le problème peut provenir de l'agent SSH, un outil qui contient vos clés. Si l'agent ne fonctionne pas correctement, vos clés ne seront pas présentées correctement. Le redémarrage de l'agent SSH peut parfois aider.

Maintenir son bon fonctionnement

Pour éviter de rencontrer cette erreur à l'avenir, voici quelques conseils pour que tout fonctionne bien :

  1. Entretien des clés : traitez vos clés SSH comme vous le feriez pour une clé de maison. Gardez-les en sécurité et ne les partagez pas avec d'autres. Vérifiez régulièrement s'ils fonctionnent toujours comme ils le devraient.
  2. Vérifications régulières : tout comme vous vérifiez régulièrement votre voiture ou votre maison pour déceler tout problème, faites de même avec vos paramètres SSH. Assurez-vous que les paramètres n'ont pas changé de manière inattendue et que vos clés sont à jour.

FAQ

Comment configurer l’authentification par clé publique en SSH ?

Pour configurer l'authentification par clé publique dans SSH, générez d'abord une paire de clés SSH sur votre ordinateur local à l'aide d'une commande telle que ssh-keygen . Cela crée une clé privée ( id_rsa ) et une clé publique ( id_rsa.pub ). Ensuite, copiez la clé publique dans le fichier ~/.ssh/authorized_keys du serveur à l'aide de ssh-copy-id user@server_ip . Assurez-vous que le authorized_keys dispose des autorisations correctes (généralement 600) pour des raisons de sécurité. Cette configuration permet à SSH d'utiliser l'authentification par clé au lieu de mots de passe.

Quelles sont les causes courantes de l'erreur « Autorisation SSH refusée (Publickey) » ?

  • Les causes courantes de cette erreur incluent :
  • Autorisations incorrectes sur les fichiers de clé SSH. La clé privée doit être lisible uniquement par l'utilisateur (600).
  • Mauvaise configuration dans les fichiers de configuration SSH ( sshd_config ou ssh_config ).
  • Logiciel client ou serveur SSH obsolète qui peut ne pas prendre en charge les protocoles d'authentification actuels.
  • Pare-feu ou logiciel de sécurité bloquant les ports ou connexions SSH.
  • Clé publique mal configurée dans le fichier authorized_keys ou utilisation d'un mauvais nom d'utilisateur pour la connexion SSH.

Comment puis-je vérifier si ma clé SSH a été correctement ajoutée au serveur ?

Pour vérifier, connectez-vous au serveur et vérifiez le fichier ~/.ssh/authorized_keys . Votre clé publique devrait y être répertoriée. Vous pouvez également tester la connexion en essayant de vous connecter via SSH au serveur. S'il ne demande pas de mot de passe, la clé a été ajoutée correctement.

Pourquoi est-il important de restreindre les autorisations sur les fichiers de clé SSH ?

Restreindre les autorisations sur les fichiers de clé SSH est crucial pour la sécurité. Si d'autres personnes peuvent lire votre clé privée, elles peuvent potentiellement accéder à vos serveurs. En gardant la clé privée sécurisée, vous garantissez que vous seul pouvez l'utiliser pour vous authentifier.

Les modifications apportées à la configuration SSH du serveur peuvent-elles entraîner des erreurs « Autorisation refusée » ?

Oui, les modifications apportées au fichier de configuration SSH du serveur ( etc/ssh/sshd_config ) peuvent entraîner de telles erreurs. Par exemple, si PubkeyAuthentication est défini sur no , le serveur n'acceptera pas l'authentification par clé publique, ce qui entraînera une erreur d'autorisation refusée.

Que dois-je faire si mon client SSH est obsolète ?

Si votre client SSH est obsolète, il se peut qu'il ne prenne pas en charge les méthodes d'authentification plus récentes ou qu'il présente des vulnérabilités de sécurité non corrigées. Il est important de mettre à jour votre client SSH vers la dernière version disponible pour votre système d'exploitation.

Comment les pare-feu affectent-ils les connexions SSH ?

Les pare-feu peuvent bloquer les connexions SSH s'ils sont configurés pour restreindre l'accès au port SSH (la valeur par défaut est 22). Assurez-vous que votre pare-feu autorise le trafic sur le port utilisé pour SSH afin d'éviter les problèmes de connexion.

Autres ressources

Comment installer Sendmail sous Linux 2024 (étape par étape)

Commandes Linux de base pour DevOps (Manuel)

Emballer

Dans cet article, nous avons exploré les causes de l'erreur « Erreur : autorisation refusée (Publickey) » et comment y remédier. N'oubliez pas que cette erreur est comme une clé qui ne correspond pas à un verrou : cela signifie généralement qu'il y a un problème dans la façon dont vos clés SSH sont configurées ou utilisées. En suivant les étapes que nous avons décrites, vous devriez être en mesure de résoudre le problème et de reprendre des conversations sécurisées avec d'autres ordinateurs.