Autorisation Github refusée: ssh add agent n’a pas d’identités

C’est la première fois que j’accède à github et je n’ai pas l’habitude d’utiliser la console. Je suis sur un Macbook (en utilisant Bash). Lorsque j’essaie d’accéder à github, j’obtiens ceci:

git clone git@github.com:dhulihan/league-of-legends-data-scraper.git Cloning into 'league-of-legends-data-scraper'... 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 essayé de suivre les instructions sur la page Github à propos de l’ autorisation refusée Lorsque j’utilise ssh -vT git@github.com, j’obtiens les informations suivantes:

 OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011 debug1: Reading configuration data /etc/ssh_config debug1: /etc/ssh_config line 20: Applying options for * debug1: Connecting to github.com [192.30.252.129] port 22. debug1: Connection established. debug1: identity file /Users/XXXX/.ssh/id_rsa type -1 debug1: identity file /Users/XXXX/.ssh/id_rsa-cert type -1 debug1: identity file /Users/XXXX/.ssh/id_dsa type -1 debug1: identity file /Users/XXXX/.ssh/id_dsa-cert type -1 debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version ssortingng SSH-2.0-OpenSSH_6.2 debug1: Remote protocol version 2.0, remote software version libssh-0.6.0 debug1: no match: libssh-0.6.0 debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-ctr hmac-sha1 none debug1: kex: client->server aes128-ctr hmac-sha1 none debug1: sending SSH2_MSG_KEXDH_INIT debug1: expecting SSH2_MSG_KEXDH_REPLY debug1: Server host key: RSA 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 debug1: Host 'github.com' is known and matches the RSA host key. debug1: Found key in /Users/XXXX/.ssh/known_hosts:1 debug1: ssh_rsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: Roaming not allowed by server debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Trying private key: /Users/XXXX/.ssh/id_rsa debug1: Trying private key: /Users/XXXX/.ssh/id_dsa debug1: No more authentication methods to try. Permission denied (publickey). 

Ensuite, eval “$ (ssh-agent -s)” renvoie “Agent pid 2314” Cependant, ssh-add -l renvoie “L’agent n’a pas d’identités”.

Et c’est là que je suis coincé. J’ai essayé de googler ce problème et de chercher ici sur SO. J’ai essayé d’accéder aux fichiers du répertoire ssh, mais il n’y en a pas. Juste un dossier appelé Knownusers.

Quelqu’un peut-il m’aider pour ce problème?

Tous les détails dans cette réponse .

En résumé, lorsque ssh-add -l retourne The agent has no identities cela signifie que les clés utilisées par ssh (stockées dans des fichiers tels que ~ / .ssh / id_rsa, ~ / .ssh / id_dsa, etc.) sont manquantes, elles sont inconnu à l’agent d’authentification ( ssh-agent ), ou leurs permissions ne sont pas définies correctement (par exemple, monde accessible en écriture).

Si vos clés sont manquantes (c’est-à-dire que vous n’avez généré aucune clé), utilisez “ssh-keygen” (par exemple, ssh-keygen -t rsa ) pour les générer, puis utilisez ssh-add pour les append.

Si les clés existent mais ne sont pas connues de ssh-agent (par exemple, elles peuvent être dans un dossier non standard), utilisez “ssh-add” (par exemple, ssh-add /path/to/my-ssh-folder/id_rsa ) pour Ajoutez-les.

Voir cette réponse si vous rencontrez des problèmes avec ssh-add ou ssh-agent .

essaye ça:

 ssh-add ~/.ssh/id_rsa 

travaillé pour moi

LA RÉPONSE 2017 des macOs Sierra & High Sierra:

PS: la plupart des autres réponses vous obligeront à créer une nouvelle clé ssh … mais vous n’avez pas besoin de le faire 🙂

Comme décrit en détail sur https://openradar.appspot.com/27348363 , macOS / OS X jusqu’à ce que Yosemite se souvienne des clés SSH ajoutées par la commande ssh-add -K

Voici donc les 4 étapes à suivre pour que cela fonctionne:

1: ssh-add ~/.ssh/PATH_TO_YOUR_SSH_PRIVATE_KEY (eg ~/.ssh/id_rsa)

2: Ajoutez ce qui suit dans ~/.ssh/config

 Host * AddKeysToAgent yes UseKeychain yes IdentityFile PATH_TO_YOUR_SSH_PRIVATE_KEY (eg ~/.ssh/id_rsa) 

3: assurez-vous de supprimer toutes les entrées gitconfig qui utilisent l’assistant osxkeychain:

  https://github.com/gregory/dotfiles/commit/e38000527fb1a82b577f2dcf685aeefd3b78a609#diff-6cb0f77b38346e0fed47293bdc6430c6L48 

4: redémarrez votre terminal pour qu’il prenne effet.

J’ai été coincé un moment sur le même problème, que j’ai finalement résolu.

Mon problème : je ne pouvais pas exécuter de poussée. Je pouvais vérifier et voir ma télécommande (en utilisant git remote -v ), mais quand j’ai exécuté git push origin master , cela renvoyait: Permission denied (publickey). fatal: Could not read from remote repository. Permission denied (publickey). fatal: Could not read from remote repository. et donc.

Comment je l’ai résolu:

  • J’ai généré une clé en utilisant ssh-keygen -t rsa . Entrer un nom pour le fichier de clé (lorsque demandé) était inutile.
  • Je pourrais ensuite append la clé (à git) : ssh-add /Users/federico/.ssh/id_rsa , qui a renvoyé l’ Identity added: /Users/myname/.ssh/id_rsa (/Users/myname/.ssh/id_rsa) avec succès Identity added: /Users/myname/.ssh/id_rsa (/Users/myname/.ssh/id_rsa)
  • J’ai ajouté la clé SSH à github en utilisant cette page d’aide .
  • Après avoir essayé toutes les commandes de la page d’aide ‘Permission denied publickey’ de Github, seule la commande ssh-add -l fonctionnait / semblait utile (après avoir exécuté les étapes précédentes), elle a bien renvoyé ma clé. La dernière étape vous montre où vérifier votre clé publique sur votre page GitHub. Et cette commande vous aidera à vérifier toutes vos clés: ls -al ~/.ssh .

Ensuite, la commande push a finalement fonctionné!

J’espère que cela aidera! Bonne chance à tous.

Exécutez les commandes suivantes:

 ssh-keygen -t rsa ssh-add /Users/*yourUserNameHere*/.ssh/id_rsa** pbcopy < ~/.ssh/id_rsa.pub** 

Accédez à votre compte Github: https://github.com/settings/profile

1) Cliquez sur: clés SSH et GPG

2) Nouvelle clé SSH et passé là-bas

3) Ajouter une clé SSH

Terminé!

Tout d’abord, vous devez aller dans votre répertoire ssh
pour ce type la commande suivante dans votre terminal sous mac ou ce que vous utilisez dans la fenêtre

 cd ~/.ssh 

maintenant c’est dans le ssh
Vous pouvez trouver ici tous vos fichiers / clés SSH liés à tous vos projets. maintenant, tapez la commande suivante pour vous montrer si une clé ssh est disponible

 ls 

cela vous montrera tous les ssh disponibles, dans mon cas il y avait deux
maintenant, vous devrez lancer un agent pour y append un ssh. Pour ce type commande suivante

 eval "$(ssh-agent -s)" 

maintenant, mais non des moindres, vous appendez un ssh dans ce type d’agent suivant la commande

 ssh-add ~/.ssh/your-ssh 

remplacer

remplacer votre-ssh avec votre nom de fichier ssh que vous avez obtenu une liste de la deuxième étape de la ls command

Cela pourrait causer un nouveau terminal, l’identifiant de l’agent est différent. Vous devez append la clé privée pour l’agent

 $ ssh-add  

Un élément supplémentaire que j’ai réalisé est que le dossier .ssh est généralement créé dans votre dossier racine dans Mac OS X / Users /. Si vous essayez d’utiliser ssh -vT git@github.com depuis un autre dossier, cela vous donnera une erreur même si vous avez ajouté la clé correcte.

Vous devez à nouveau append la clé (ssh-add ‘chemin correct à id_rsa’) dans le dossier actuel pour vous authentifier avec succès (en supposant que vous avez déjà téléchargé la clé sur votre profil dans Git)

Après avoir lutté pendant longtemps, j’ai finalement pu résoudre ce problème sous Windows. Pour moi, la variable env de l’utilisateur GIT_SSH était définie pour pointer sur

“C: \ Program Files (x86) \ WinScp \ PuTTY \ plink.exe”

qui a été installé avec WinScp. J’ai changé le pointage pour utiliser ssh.exe par défaut qui vient avec git-scm “C: \ Program Files \ Git \ usr \ bin \ ssh.exe”