“ Autorisation refusée (publickey) ” chaque fois que jessaye de pousser vers git

Jai récemment rencontré un problème: chaque fois que jessaye de pousser vers le dépôt git (dans mon cas, Bitbucket), jobtiens cette erreur:

$ git push origin master [email protected]: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 

Jai trouvé un moyen de le résoudre en exécutant ces commandes:

eval `ssh-agent` ssh-add -l ssh-add ~/.ssh/id_rsa 

Si je « vais le faire et essayer de git push origin master, ça « va marcher. Mais le problème est que ce problème commence à apparaître après un certain temps (probablement après le redémarrage, je ne sais pas ce qui le fait réapparaître). UPD: il nest probablement pas causé par le redémarrage, car je viens de le faire face 10 minutes après avoir exécuté le code ci-dessus, et jai eu la même erreur. Je nai pas redémarré mon ordinateur portable depuis.

Quest-ce qui peut causer un tel comportement et comment puis-je résoudre ce problème?

Commentaires

Answer

Je pense que cela se produit parce que lorsque vous avez généré votre clé ssh, vous avez entré une phrase de passe pour la sécurité. Lorsque vous démarrez lagent ssh et ajoutez ssh / rsa_id, il devrait être identique à la phrase de passe.

[root@user xxxxx]# eval "$(ssh-agent -s)" Agent pid 12082 [root@user xxxxx]# ssh-add /home/user/.ssh/id_rsa Enter passphrase for /home/user/.ssh/id_rsa: Identity added: /home/user/.ssh/id_rsa (/home/user/.ssh/id_rsa) git push -u origin master Counting objects: 94, done. 

Réponse

Daccord, jai oublié de publier le problème: jai accidentellement défini ma clé sur un autre serveur pour tous les hôtes de ~/.ssh/config. Il la donc utilisée pour se connecter tous les hôtes au lieu du bon. Je « l ai supprimé pour tous les hôtes et je ne l ai configuré que pour les hôtes qui avaient besoin de cette clé, et il l a corrigée.

Jespère que cela sera utile aux autres.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *