Impossible de pousser vers le dépôt git-permission refusée

j'ai un problème suivant:

$ git push -u origin master
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

j'ai déjà vérifié la connexion en faisant ceci:

$ ssh -vT git@github.com

et la sortie semble bonne, j'ai été correctement authentifié.

en vérifiant davantage, j'ai remarqué que:

$ ssh-add -l
The agent has no identities.

j'ai essayé de lancer ssh-agent, mais rien n'a changé:

$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-A1mhFqvqncuO/agent.766; export SSH_AUTH_SOCK;
SSH_AGENT_PID=767; export SSH_AGENT_PID;
echo Agent pid 767;
$ ssh-add -l
Could not open a connection to your authentication agent.

j'utilise Arch Linux. Toute aide serait très appréciée! Merci à l'avance!

GitHub aide de diagnostic ici.

46
demandé sur mc.suchecki 2012-12-03 02:31:12

7 réponses

j'ai eu le même problème et mon problème a été résolu en exécutant la commande suivante pour ajouter ma clé à la liste des clés:

ssh-add ~/.ssh/id_rsa

J'espère que ça résoudra le vôtre aussi. ;)

115
répondu NEO 2013-08-21 16:48:22

vous devez faire dans votre console ( si vous utilisez un client putty SSH ):

  1. générer les clés, si les clés n'existent pas:

    cd ~/.ssh && ssh-keygen -lf ~/.ssh/id_rsa.pub
    

N'oubliez pas le mot de passe, entré à cette étape!

  1. sortie de votre clé publique à l'écran:

    cd ~/.ssh && cat id_rsa.pub
    
  2. copiez cette chaîne en cliquant sur et déplacez un pointeur de souris de la sortie de début à la fin. Pas besoin d'appuyer sur Ctrl + V ou plus de touches.

  3. ouvrez une session dans votre compte sur GitHub et ajoutez cette clé publique à https://github.com/settings/ssh

  4. Maintenant vous pouvez utiliser votre git localement.

6
répondu Sergio Belevskij 2014-03-20 11:53:49

si vous ne l'avez pas déjà lu, vous devriez regarder à travers la page d'aide GitHub pour cette erreur:

erreur: Permission refusée (publickey)

chaque fois que j'ai eu ce problème, c'était en raison du dernier problème énuméré sur cette page: je n'avais pas la clé publique de mon poste de travail actuel attachée à mon compte GitHub. Bien sûr, GitHub fournit également des instructions sur comment connectez votre clé publique à votre compte .


tl; dr

assurez-vous que votre clé publique actuelle est attachée à votre compte GitHub.

6
répondu DaoWen 2016-01-10 06:35:41

Je ne pense pas que cela va résoudre votre problème puisque vous avez testé ssh -vT git@github.com directement et cela a fonctionné, mais vous utilisez le ssh-agent incorrectement. Vous devez exécuter

$ eval `ssh-agent -s`
Agent pid 767
$ ssh-add -l
The agent has no identities.

ceci évaluera les commandes d'exportation d'environnement et permettra à vos commandes ssh-add et ssh de communiquer avec l'agent. Vous pouvez aussi demander à l'agent de démarrer un shell, un terminal, etc. et il mettra en place l'environnement approprié:

$ ssh-agent bash
$ ssh-add -l
The agent has no identities.

dans ce cas, le shell tourne comme un enfant du ssh-agent et l'agent s'éteindra lorsque le shell quittera.

4
répondu squid314 2013-06-14 20:35:04

j'ai fait face au même problème sur mon Ubuntu et puis je me rends compte que je suis sur sudo mode, une fois que je viens d'accéder remote sans sudo il s'est bien passé.

C'est comme ça que je me débarrasse si le problème, j'espère qu'il peut aider.

3
répondu Syed Shahul 2013-09-19 12:39:12

Permission refusée (clé publique). J'ai rencontré ce problème aujourd'hui, mais j'ai trouvé une solution finalement, et avec succès résolu mon problème.

peut-être devriez-vous vérifier les points suivants?""

  1. vous avez un compte github
  2. git config de votre nom d'utilisateur et le -mail
  3. générez une paire SSH-clé pri / pub et ajoutez la clé publique à votre compte git, s'il vous plaît vérifier cela peut vous aider: la génération de la nouvelle clé ssh et ne peut pas pousser le dépôt git 'permission denied'
  4. vérifier que SSH-key est ajouté avec succès: ssh -V username@github.com
  5. bonne chance!
2
répondu lujiwen 2017-05-23 11:46:54

dans mon cas, J'ai eu ce problème avec GitLab parce que je travaillais avec des chemins de paire de clés non par défaut SSH. La réponse de @NEO fonctionne parfaitement:

ssh-add ~/.ssh/other_id_rsa

cependant, je devais le faire chaque fois que j'ai ouvert un nouveau terminal.

pour rendre ce changement permanent, vous devez éditer ~/.ssh/config et ajouter ce qui suit:

Host gitlab.company.com
RSAAuthentication yes
IdentityFile ~/.ssh/config/private-key-filename

pour des informations plus détaillées, consultez gitlab's documentation .

1
répondu Abdelilah El Aissaoui 2018-04-26 10:31:27