我能够通过命令提示符成功创建密钥并按照这些说明连接到github:
https://help.github.com/articles/generating-ssh-keys
但是,当我尝试通过Sourcetree和putty连接时,我不能.我试过了:
使用putty密钥生成器生成新密钥(SSH-2 RSA)
输入密码
保存私钥
保存公钥并添加.pub扩展名
将密钥从putty密钥生成器窗口复制/粘贴到github
尝试使用我从github获得的SSH克隆URL从我的本地存储库中从我的私有github存储库中拉出分支
我也尝试打开从github命令行指令生成的密钥,它希望我将它转换为我做过并保存的putty类型密钥,尝试使用该密钥.也没有运气.
我究竟做错了什么?
在我的情况下,我需要切换到一个git
或ssh
基于repo路径而不是https
基于repo路径.这会导致SourceTree切换到基于SSH的身份验证.
此设置可在以下位置找到 Repository => Repository setting => Paths
例:
正确的回购路径
git@github.com:<username>/<reponame>.git
要么
ssh://git@github.com/<username>/<reponame>.git
(注意:如果您使用的是不属于您的仓库,请替换username
为organization name
)
错误的回购路径
https://github.com/<username>/<reponame>.git
HTTPS repo路径导致SourceTree试图变得更加智能并且非常失败.系统会提示您输入用户名/密码GUI对话框,如果启用了2因素身份验证,则该对话框将永远不会有效
为了使它工作,我最终转到工具 - >选项 - > SSH客户端并将其更改为OpenSSH.我生成并上传了几种不同类型的密钥,试图让它工作,但我认为这是最终做到的.