web-dev-qa-db-fra.com

impossible de faire fonctionner les clés SSH entre sourcet tree et github

J'ai pu créer une clé et me connecter à github en suivant ces instructions via la commande Invite:

https://help.github.com/articles/generating-ssh-keys

Cependant, lorsque j'essaie de me connecter via Sourcetree et PuTTY, je ne le peux pas. J'ai essayé:

  1. générer une nouvelle clé avec le générateur de clé PuTTY (SSH-2 RSA) 
  2. entrer une phrase secrète
  3. enregistrer la clé privée
  4. enregistrer la clé publique et ajouter une extension .pub
  5. copier/coller la clé de la fenêtre du générateur de clé PuTTY dans github
  6. essayant d'actualiser les branches sur une extraction de mon référentiel privé github à partir de mon référentiel local à l'aide de l'URL de clone SSH que j'ai obtenue de github

J'ai également essayé d'ouvrir la clé générée à partir des instructions de la ligne de commande github et elle voulait que je la convertisse en une clé de type PuTTY, ce que j'ai fait et que j'ai enregistré et essayé avec celui-ci. Aussi pas de chance.

Qu'est-ce que je fais mal? 

24
turbo2oh

Pour que cela fonctionne, j'ai fini par aller dans Outils -> Options -> Client SSH et en le changeant en OpenSSH. J'ai généré et téléchargé plusieurs types de clés différents pour essayer de le faire fonctionner également, mais je pense que c'est ce qui a finalement abouti.

46
turbo2oh

Dans mon cas, je devais basculer vers un chemin de référentiel basé sur git ou ssh plutôt que sur le chemin de référentiel basé sur https. Cela force SourceTree à basculer vers une authentification basée sur SSH. 

Ce paramètre peut être trouvé à Repository => Repository setting => Paths

Exemple:

Corriger chemins de repo

[email protected]:<username>/<reponame>.git

ou

ssh://[email protected]/<username>/<reponame>.git

(Remarque: si vous travaillez avec un référentiel qui n'est pas le vôtre, remplacez username par organization name)

Mauvais chemin repo

https://github.com/<username>/<reponame>.git

Les chemins de dépôt HTTPS font en sorte que SourceTree essaie d’être extrêmement intelligent et d’échouer de façon spectaculaire. Vous êtes invité à ouvrir une boîte de dialogue d'interface utilisateur graphique nom d'utilisateur/mot de passe qui ne fonctionnera jamais si l'authentification à 2 facteurs est activée.

21
DeepSpace101

Vous voudrez peut-être envisager de passer d'OpenSSH à PuTTY/Plink et d'utiliser Git intégré au lieu de Git fourni par le système d'exploitation hôte. Faire fonctionner ssh-agent sous Windows est un peu plus compliqué que de cliquer dessus directement depuis SourceTree et PuttyGen.

Si vous souhaitez toujours utiliser Terminal pour configurer SSH et démarrer ssh-agent, veuillez vous reporter aux deux dernières étapes.

Steps

1
Wojciech Fornal

Pour Sourcetree sur MacOS, je devais passer de l'authentification OAuth à l'authentification de base, utiliser "git" comme nom d'utilisateur (not mon nom d'utilisateur GitHub), générer la clé SSH et la saisir dans GitHub. Ce n’est qu’alors que je pourrai cloner un dépôt GitHub via SSH dans Sourcetree.

0
brettlyman