200 votes

GitHub : Permission refusée (publickey). fatal : L'extrémité distante a raccroché de manière inattendue.

J'ai suivi les instructions ci-dessous pour télécharger un projet.

Configuration globale :

 Download and install Git
  git config --global user.name "Your Name"
  git config --global user.email tirenga@gmail.com
  Add your public key

Next steps:

  mkdir tirengarfio
  cd tirengarfio
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:tirenga/tirenga.git
  git push origin master

Mais je reçois cette erreur :

Permission refusée (publickey). fatal : L'extrémité distante a raccroché de manière inattendue

127voto

ziiweb Points 7003

J'ai dû ajouter ma clé publique à github. https://help.github.com/articles/generating-ssh-keys

3 votes

Si vous utilisez une machine linux, la copie du contenu du fichier id_rsa.pub peut être difficile si vous utilisez emacs ou nano. Essayez de copier avec un éditeur de texte (Notepad, TextEdit, ou gedit feront l'affaire). Si vous n'avez aucun de ces éditeurs, vous pouvez utiliser vim.

4 votes

@GokulNK L'autre alternative est d'utiliser xclip, comme le recommande la page.

7 votes

cat ~/.ssh/id_rsa.pub pourrait être une option ? :p

28voto

viprs Points 261

Oui, c'est un problème de clé publique. Je suis un Windows utilisateur, et la page ci-dessous m'aide à résoudre ce problème.

http://help.github.com/win-set-up-git/

plus précisément ce lien devrait être utile

https://help.github.com/articles/error-permission-denied-publickey

57 votes

Bien que cela puisse théoriquement répondre à la question, il serait préférable d'inclure les parties essentielles de la réponse ici, et de fournir le lien pour référence.

18voto

rahul_pratap Points 307

Tapez la commande suivante en utilisant votre nom d'utilisateur et le nom du référentiel :

git clone https://github.com/{user name}/{repo name}

sous Ubuntu, cela fonctionne parfaitement.

0 votes

Je pense que le protocole https est nécessaire pour avoir une connexion sécurisée, c'est pourquoi il fonctionne. Git@github.. n'est PAS sécurisé pour la machine.

16voto

rafaeljuzo Points 201

J'ai trouvé une solution après avoir passé beaucoup de temps dans les tutoriels.

J'ai suivi le tutoriel github sur ce lien ->. https://help.github.com/articles/error-permission-denied-publickey et j'ai pu me connecter à chaque étape. Mais lorsque j'ai essayé de git push -u origin master J'ai obtenu cette erreur :

Permission refusée (publickey). fatal : Could not read from remote distant.

Veuillez vous assurer que vous avez les bons droits d'accès

C'est comme ça que je l'ai réparé !! Allez dans le répertoire du projet en utilisant le Terminal et vérifiez-le

$git remote -v

Vous obtiendrez quelque chose comme ceci :

origin  ssh://git@github.com/yourGithubUserName/yourRepo.git (fetch)
origin  ssh://git@github.com/yourGithubUserName/yourRepo.git (push)

Si vous utilisez autre chose, alors git@github.com Ouvrez le fichier de configuration dans le répertoire git en tapant la commande :

vi .git/config

Et configurer la ligne

[remote "origin"]

url = ssh://git@github.com/yourGithubUserName/yourRepo.git

fetch = +refs/heads/*:refs/remotes/origin/

0 votes

Pour moi, cela a fonctionné en remplaçant git@github.com par <myusername>@github.com

0 votes

La commande "git remote -v" n'est pas une commande que j'avais vue auparavant, et elle s'est avérée être la clé pour comprendre pourquoi l'un de mes dépôts fonctionnait, alors que l'autre retournait "Permission denied (publickey)" lorsque j'essayais d'exécuter "git ls-remote". Très utile. Merci.

6voto

Dan Power Points 701

Dans mon cas, j'ai dû configurer la clé publique pour un autre utilisateur, car j'en avais déjà une pour mon utilisateur principal. Une fois que j'ai changé d'utilisateur et exécuté les commandes dans le lien ci-dessus, j'ai pu effectuer la configuration pour mon serveur de test sans problème.

0 votes

Problème similaire - j'étais connecté en tant que Root (et j'ai négligé ce point) et non pas en tant qu'utilisateur réel qui a été configuré avec SSH. Je n'ai pas pu faire fonctionner un commit pour quoi que ce soit. Le changement de l'utilisateur correct a résolu le problème !

1 votes

Manque flagrant d'explications sur la façon d'effectuer la réparation.

0 votes

Je ne devrais pas avoir à le préciser, c'est pour toi Richard ! J'utilisais mon compte non-Root. J'ai dû exécuter la commande à partir de l'url d'aide de github ( help.github.com/articles/generating-ssh-keys#platform-linux ) avec le préfixe sudo.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X