我使用 soureTree 克隆 ssh 项目。
- 我已经创建了 ssh key
- 我已经设置了 gitlab ssh key 设置
- 我已经 ssh-add "mysshkey"
- 我已经 ssh-add -K 'mysshkey'
当我打印 ssh -T 时,我可以在命令行中让它成功。 当我以 ssh 方式进行 git clone、pull、push 时...它仍然可以在命令行中工作。(终端)
但是在sourcetree中现在仍然报错:
Permission denied (publickey)
我该如何解决?
最佳答案
我下载了 SourceTree 2.7.6 并遇到了同样的问题。 我认为@Frankie_0927 是对的,私钥必须命名为 id_rsa 并且必须在 ssh 代理中注册。
其他人遇到这个问题: 尝试按照以下链接中的说明生成一对 key : https://help.github.com/articles/connecting-to-github-with-ssh/ 将私钥 id_rsa 存储在 ~/user/YOURUSERNAME/.ssh(mac 路径)中,并在 github 帐户中发布公钥。 然后运行
ssh-add -l
你会看到
The agent has no identities.
所以你跑
ssh-add -K ~/.ssh/id_rsa
将 key 添加到 ssh 代理中。 在此之后,运行
ssh-add -l
再次,您将看到 key 已添加,问题应该已解决。
关于git - SourceTree 总是权限被拒绝(公钥),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51650052/