C'est la première fois que j'utilise Github et je n'ai pas l'habitude d'utiliser la console. Je suis sur un Macbook (avec Bash). Quand j'essaye d'accéder à github, j'obtiens ceci:
git clone [email protected]: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 de la page Github à propos de Autorisation refusée Lorsque j'utilise ssh -vT [email protected], le message suivant s'affiche:
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 string 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 aucune identité."
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
renvoie 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 ne sont pas connues de l'agent d'authentification (ssh-agent
), ou leurs autorisations ne sont pas définies correctement (par exemple, monde en écriture).
Si vos clés sont manquantes (c’est-à-dire que vous n’avez pas généré de clés), utilisez 'ssh-keygen' (par exemple, ssh-keygen -t rsa
) pour les générer, puis utilisez ssh-add
pour les ajouter.
Si des clés existent mais que ssh-agent
ne connaît pas (par exemple, elles peuvent se trouver dans un dossier non standard), utilisez 'ssh-add' (par exemple, ssh-add /path/to/my-ssh-folder/id_rsa
) pour les ajouter.
Voir cette réponse si vous rencontrez des problèmes avec ssh-add
ou ssh-agent
.
essaye ça:
ssh-add ~/.ssh/id_rsa
a travaillé pour moi
LA RÉPONSE 2017 DES MACOS Sierra & High Sierra:
PS: la plupart des autres réponses vous demanderont de 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 mémorise les clés SSH ajoutées à l'aide de la commande ssh-add -K <key>
Donc voici les 4 étapes que j'ai dû suivre pour que cela fonctionne:
1:ssh-add ~/.ssh/PATH_TO_YOUR_SSH_PRIVATE_KEY (e.g. ~/.ssh/id_rsa)
2: Ajouter les éléments suivants dans ~/.ssh/config
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile PATH_TO_YOUR_SSH_PRIVATE_KEY (e.g. ~/.ssh/id_rsa)
3: assurez-vous de supprimer toutes les entrées de gitconfig utilisant osxkeychain helper:
https://github.com/gregory/dotfiles/commit/e38000527fb1a82b577f2dcf685aeefd3b78a609#diff-6cb0f77b38346e0fed47293bdc6430c6L48
4: redémarrez votre terminal pour qu'il prenne effet.
Cela fait un moment que je suis bloqué sur le même problème, que j'ai finalement résolu.
Mon problème: Je n'ai pas pu exécuter de Push. Je pouvais vérifier et voir ma télécommande (en utilisant git remote -v
), mais lorsque j’ai exécuté git Push Origin master
, elle a renvoyé: Permission denied (publickey). fatal: Could not read from remote repository.
et ainsi de suite.
Comment je l'ai résolu:
ssh-keygen -t rsa
. Entrer un nom pour le fichier de clé (lorsque demandé) était inutile.ssh-add /Users/federico/.ssh/id_rsa
, qui a retourné avec succès Identity added: /Users/myname/.ssh/id_rsa (/Users/myname/.ssh/id_rsa)
ssh-add -l
fonctionnait/semblait utile (après avoir exécuté les étapes précédentes), ma clé a bien été renvoyée. La dernière étape vous indique 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 Past it it
3) Ajouter une clé SSH
Terminé!
tout d’abord, vous devez aller dans votre répertoire ssh
pour ce type de commande suivante dans votre terminal sous mac ou quoi que vous utilisiez dans une fenêtre
cd ~/.ssh
maintenant c'est dans le ssh
Ici vous pouvez trouver tous les 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 aurez besoin de démarrer un agent pour y ajouter un ssh. Pour ce type commande suivante
eval "$(ssh-agent -s)"
maintenant, dernier mais non le moindre, vous ajouterez un ssh dans la commande suivante de ce type d'agent
ssh-add ~/.ssh/your-ssh
remplacer
remplacez your-ssh par votre nom de fichier ssh dont vous avez obtenu la liste sous la seconde étape
ls command
Cela pourrait entraîner pour tout nouveau terminal, l'ID de l'agent est différent . Vous devez ajouter la clé privée pour l'agent.
$ ssh-add <path to your private key>
Un élément supplémentaire que j'ai compris est que le dossier .ssh est généralement créé dans votre dossier racine sous Mac OS X/Users /. Si vous essayez d'utiliser ssh -vT [email protected] à partir d'un autre dossier, vous obtiendrez une erreur même si vous avez ajouté la clé correcte.
Vous devez à nouveau ajouter la clé (ssh-add 'chemin correct à id_rsa') du dossier actuel pour vous authentifier avec succès (en supposant que vous ayez déjà téléchargé la clé sur votre profil dans Git).
Après avoir longtemps lutté, j'ai finalement pu résoudre ce problème sous Windows. Pour moi, la variable d’environnement utilisateur GIT_SSH était définie sur
"C:\Program Files (x86)\WinScp\PuTTY\plink.exe"
qui a été installé avec WinScp. J'ai changé le pointage pour utiliser la valeur par défaut ssh.exe qui est fournie avec git-scm "C:\Program Files\Git\usr\bin\ssh.exe"
Cela a fonctionné pour moi:chmod 700 .ssh
chmod 600 .ssh/id_rsa
chmod 644 .ssh/id_rsa.pub
Ensuite, tapez ceci: ssh-add ~/.ssh/id_rsa
Étapes pour BitBucket:
si vous ne voulez pas générer de nouvelle clé, SKIP ssh-keygen
ssh-keygen -t rsa
Copiez la clé publique dans le presse-papier:
clip < ~/.ssh/id_rsa.pub
Connexion au bit Bucket: Accédez à Afficher le profil -> Paramètres -> Clés SSH (dans l’onglet Sécurité) Cliquez sur Ajouter une clé, Collez la clé dans la zone, ajoutez un titre descriptif
Retournez à Git Bash:
ssh-add -l
Tu devrais obtenir :
2048 SHA256:5zabdekjjjaalajafjLIa3Gl/k832A /c/Users/username/.ssh/id_rsa (RSA)
Maintenant: git pull
devrait fonctionner