unable to get SSH keys working between sourcetree and github

蹲街弑〆低调 提交于 2019-11-30 04:35:47

In order to get it worked I ended up going to Tools -> Options -> SSH Client and changing it to OpenSSH. I generated and uploaded several different types of keys trying to get it work as well but I think this is what finally did it.

In my case, I needed to switch to a git or ssh based repo path rather than the https based repo path. This causes SourceTree to switch to SSH based authentication.

This setting can be found at Repository => Repository setting => Paths

Example:

Correct repo paths

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

or

ssh://git@github.com/<username>/<reponame>.git

(Note: if you are working with a repo that isn't yours, replace username with organization name)

Wrong repo path

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

HTTPS repo paths result in SourceTree trying to be extra smart and failing spectacularly. You get prompted for a username/password GUI dialog which will never work if you have 2 factor authentication enabled.

You may want to consider switching from OpenSSH to Putty / Plink and use embedded Git instead of Git provided by host OS. Making ssh-agent work on Windows is a bit more complicated than clicking it out straight from the SourceTree and PuttyGen.

If you want to still use terminal to configure SSH and start ssh-agent please see bottom two steps.

For Sourcetree on MacOS I had to change from OAuth to Basic authentication, use "git" as the username (not my GitHub username), and generate the SSH key and input it into GitHub. Only then could I clone a GitHub repo via SSH in Sourcetree.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!