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.
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. ;)
vous devez faire dans votre console ( si vous utilisez un client putty SSH ):
-
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!
-
sortie de votre clé publique à l'écran:
cd ~/.ssh && cat id_rsa.pub
-
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.
-
ouvrez une session dans votre compte sur GitHub et ajoutez cette clé publique à https://github.com/settings/ssh
-
Maintenant vous pouvez utiliser votre git localement.
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.
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.
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.
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?""
- vous avez un compte github
- git config de votre nom d'utilisateur et le -mail
- 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'
- vérifier que SSH-key est ajouté avec succès:
ssh -V username@github.com
- bonne chance!
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 .