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é:
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?
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.
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.
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.
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.