web-dev-qa-db-fra.com

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 [email protected]
  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 [email protected]:tirenga/tirenga.git
  git Push Origin master

Mais je reçois cette erreur:

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

197
ziiweb

Pour moi, le problème était l'exécution du clone via Sudo.

Si vous clonez dans un répertoire où vous avez l'autorisation de l'utilisateur (/ home/user/git), tout se passera bien.

(Explication: L'exécution d'une commande en tant que superutilisateur ne fonctionnera pas avec la même clé publique que l'exécution d'une commande en tant qu'utilisateur. Par conséquent, Github a refusé la connexion.)

Cette solution nécessite la configuration d’une clé SSH: https://help.github.com/articles/generating-ssh-keys

24
Smundo

Je devais ajouter ma clé publique à github. https://help.github.com/articles/generating-ssh-keys

125
ziiweb

Oui, c'est un problème de clé publique. Je suis un utilisateur de Windows et la page ci-dessous m'aident à 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

28
viprs

après avoir créé la paire de clés RSA, vous devez l'ajouter à SSH à l'aide de:

ssh-add ~/.ssh/id_rsa

ou partout où vous avez créé votre paire de clés RSA.

28
Sergio Viera

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}

dans Ubuntu cela fonctionne parfaitement.

18
rahul_pratap

J'ai eu une solution après une longue période de tutoriels.

J'ai suivi le didacticiel github sur ce lien -> https://help.github.com/articles/error-permission-denied-publickey et j'ai été en mesure de me connecter à chaque étape. Mais quand j'essayais de git le maître d'origine de Push -u , j'ai eu cette erreur:

Autorisation refusée (publickey). fatal: Impossible de lire à partir du référentiel distant.

Assurez-vous d'avoir les droits d'accès corrects

C'est comme ça que je l'ai corrigé !! Allez dans le répertoire du projet en utilisant le Terminal et jetez-y un œil

$git remote -v

Vous obtiendrez quelque chose comme ceci:

Origin  ssh://[email protected]/yourGithubUserName/yourRepo.git (fetch)
Origin  ssh://[email protected]/yourGithubUserName/yourRepo.git (Push)

Si vous utilisez autre chose que [email protected] , ouvrez le fichier de configuration dans le répertoire git en tapant la commande suivante:

vi .git/config

Et configurer la ligne

[remote "Origin"]

url = ssh://[email protected]/yourGithubUserName/yourRepo.git

fetch = +refs/heads/*:refs/remotes/Origin/
16
rafaeljuzo

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 de mon serveur de test sans problème.

6
Dan Power

J'ai eu ce problème, mais aucune des solutions ci-dessus n'a fonctionné. Je pouvais cloner et aller chercher mais je ne pouvais pas pousser. Finalement, j'ai compris que le problème était dans le url de mon .git/config, il devrait être:

[email protected]:<username>/<project>

(pas ssh://github.com/<username>/<project>.git ou https://github.com/<username>/<project>.git).

5
eold

Étant donné qu'aucune des réponses ici ne fonctionnait pour moi, j'ai finalement retrouvé mon problème de connexion à Bitbucket (ou à Github, peu importe dans ce cas) avec ssh -vT [email protected].

Dans mon cas, l'échec était dû à l'utilisation d'une clé DSA au lieu de RSA, et apparemment mon client SSH ne le permet plus.

debug1: clé ssh-dss ignorée /c/Users/USER/.ssh/id_dsa pour ne pas utiliser PubkeyAcceptedKeyTypes

La solution consistait à ajouter ceci à .ssh/config:

Host *
    PubkeyAcceptedKeyTypes +ssh-dss

Cela ajoute élégamment le type de clé ssh-dss à tous les types de clés publiques acceptées existants et une fois que cela a été fait, git peut maintenant ssh dans Bitbucket sans problème.

5
Artem Russakovskii

Mon problème était que j'essayais de donner à ma clé ssh un NOM SPÉCIFIQUE chaque fois que je saisissais ssh-keygen sur mon terminal mac.

J'ai résolu le problème en laissant simplement le nom que "ssh-keygen" génère = id_rsa. Vous vous retrouverez avec 2 clés dans votre dossier .ssh sur un mac, id_rsa, qui est votre clé privée, et le id_rsa.pub, qui est votre clé publique. Ensuite, j'ai copié et enregistré le code de id_rsa.pub dans les paramètres de mon compte GitHub, et c'était tout. Problème résolu.

3
paopao

Un bon si vous avez installé git sur votre ordinateur:

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

2
Jamal Khan

L'ajout d'une clé publique est la solution.Pour générer des clés ssh: https://help.github.com/articles/generating-ssh-keys contient des instructions pas à pas.

Toutefois, le problème peut persister si la clé n'est pas générée correctement. J'ai aussi trouvé ce lien utile: https://help.github.com/articles/error-permission-denied-publickey

Dans mon cas, le problème était que je générais la clé ssh sans utiliser Sudo, mais lorsque j'utilisais les commandes git, je devais utiliser Sudo. Ce commentaire dans le lien ci-dessus "Si vous générez des clés SSH sans Sudo, lorsque vous essayez d'utiliser une commande telle que Sudo git Push, vous n'utiliserez pas la clé SSH que vous avez générée." m'a aidé.

Donc, la solution était que je devais utiliser Sudo avec les commandes de génération de clé et les commandes git. Ou pour les autres, quand ils n'ont pas besoin de Sudo, ne l'utilisez pas dans les deux étapes. (génération de clé et commandes git).

1
learner_19

J'ai rencontré un problème similaire lors de l'exécution de SSH ou de Git Clone sous Windows. Suivre les constatations aide à résoudre mon problème:

  • Lorsque vous exécutez "rhc setup" ou d'autres méthodes ssh pour générer la clé ssh, le fichier de clé privée id_rsa est créé dans le dossier .ssh de votre dossier personnel. La valeur par défaut est C:\User\UserID.
  • Git pour Windows a son propre dossier .ssh dans son répertoire d'installation. Lorsque vous exécutez git/ssh, le fichier de clé privée id_rsa sera recherché dans ce dossier.
  • Résolu le problème en copiant id_rsa du dossier .ssh du dossier de départ vers le dossier .ssh du répertoire d'installation de git.

De plus, je pense qu’il ya un moyen de "dire" à git d’utiliser le dossier par défaut .ssh dans le dossier d’accueil, mais il reste à déterminer comment.

1
gkl

Si vous utilisez une machine Linux, vérifiez,

  • avez-vous Openssh installé
  • si vous le faites, avez-vous une clé publique existante, sinon vous devrez en générer une.
  • est votre clé publique ajoutée à votre compte github.

La génération de nouvelles clés SSH et leur ajout à mon compte Github ont résolu mon problème. Vous pouvez regarder dans cette page pour plus de détails. GitHelp .

0
Sparsh Juneja

Utiliser Ubuntu sur Windows Store

sous-système windows pour linux

, votre git Push fonctionnera sur différents comptes.

0
MayurKubavat

Pour moi, cela a fonctionné comme ceci:

Dans GitHub, j'ai changé le lien ssh en https, puis j'ai donné les commandes suivantes:

$ git init
$ git remote add Origin https:...
$ git add .
$ git commit -m "first commit"
$ git Push Origin master
0

Vous pouvez essayer de changer votre type de connexion pour passer de ssh à https.

  1. nano project_path/.git/config
  2. Remplacez [email protected]:username/repository.git par https://[email protected]/username/repository_name.git
  3. Enregistrer le fichier ctrl + o

Après cela, vous pouvez essayer git pull sans publickey

0
Maxim Niko