Accueil·Messages d’erreur

ssh · Git

Le message

git@github.com: Permission denied (publickey).

Ce que cela veut dire

ssh a bien atteint le serveur mais n'a présenté aucune clé que le serveur accepte : c'est de l'authentification, pas du réseau. Cela arrive quand vous n'avez pas généré de clé, quand vous en avez une mais ne l'avez jamais ajoutée à ssh-agent, ou quand la clé publique n'est pas enregistrée sur votre compte chez cet hébergeur. ssh-add ~/.ssh/id_ed25519 charge la clé dans l'agent pour cette session, et ssh -T git@github.com indique quelle clé a été essayée et sous quelle identité vous êtes reconnu. Les deux commandes ne font que lire ; il n'y a rien à perdre.

Le correctif

ssh-add ~/.ssh/id_ed25519
Émis par
ssh
Git
29

Presque toutes les erreurs de git sont un refus qui signifie « faire cela depuis cet état ferait perdre quelque chose » ; fatal: veut dire que git s'est arrêté sans rien modifier, et les lignes hint: sous la première portent souvent le vrai remède.

Lire un message d’erreur

  • Lisez à partir de la première ligne. Plus on descend, plus il s’agit des entrailles de l’outil ; la cause est généralement en haut.
  • S’il y a un fichier et un numéro de ligne, commencez là — pas la première image de la pile, mais la ligne la plus haute qui nomme un fichier de vous.
  • Cherchez le message tel quel, mais retirez d’abord vos chemins et vos noms de variables : c’est cela qui empêche la correspondance.
  • La même situation se formule autrement selon la version de l’outil. Si les résultats sonnent faux, ajoutez le numéro de version.
  • Avant de coller un correctif, vérifiez ce qu’il jette. Certains sont irréversibles.

Questions fréquentes

Q. Que veut dire « git@github.com: Permission denied (publickey). » ?

ssh a bien atteint le serveur mais n'a présenté aucune clé que le serveur accepte : c'est de l'authentification, pas du réseau. Cela arrive quand vous n'avez pas généré de clé, quand vous en avez une mais ne l'avez jamais ajoutée à ssh-agent, ou quand la clé publique n'est pas enregistrée sur votre compte chez cet hébergeur. ssh-add ~/.ssh/id_ed25519 charge la clé dans l'agent pour cette session, et ssh -T git@github.com indique quelle clé a été essayée et sous quelle identité vous êtes reconnu. Les deux commandes ne font que lire ; il n'y a rien à perdre.

Q. Comment le corriger ?

ssh-add ~/.ssh/id_ed25519 — avant de le lancer, vérifiez plus haut ce que cette commande jette.

Q. Quel outil émet cela ?

ssh. Cela relève de Git, et le message compte 4 mots.

Erreurs voisines