无法从Sourcetree中提取Git远程存储库

fun*_*low 45 git ssh github atlassian-sourcetree

我生成了ssh密钥并配置了我的git和SourceTree.我可以git pull并从Git-bash做其他操作.注意:我在.bashrc中添加了以下内容以使其工作.

eval `ssh-agent`
ssh-add
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试git pull in SourceTree时,我得到了这个.

git -c diff.mnemonicprefix = false -c core.quotepath = false fetch origin Permission denied(publickey,password).致命:无法从远程存储库读取.

请确保您具有正确的访问权限并且存储库存在.

当我尝试从Putty(windows)创建ssh-key时,它会更进一步,但是等待以下消息!

git -c diff.mnemonicprefix = false -c core.quotepath = false fetch origin服务器的主机密钥未缓存在注册表中.您无法保证服务器是您认为的计算机.服务器的rsa2密钥指纹是:

ssh-rsa 2048 0f:ee:bb:1c:6c:b4:50:0e:54:d6:e9:55:9b:38:45:df如果您信任此主机,请输入"y"将密钥添加到PuTTY的缓存并进行连接.如果要仅进行一次连接,而不将密钥添加到缓存中,请输入"n".如果您不信任此主机,请按Return键放弃连接.

如果我在SourceTree中打开终端(这是git-bash),它会要求我输入密码.所以,我怀疑我的.bashrc不是SourceTree的来源.还是我错过了别的什么?

JPe*_*ier 83

我有同样的问题,我的解决方案是用我的服务器(GitLab)手动调用plink.exe:

"C:\Program Files (x86)\Atlassian\SourceTree\tools\putty\plink.exe" gitlab.com
Run Code Online (Sandbox Code Playgroud)

按下y时按,你现在应该没事!

  • @ May12:此阶段无需密码.只需按"y"即可将密钥存储在缓存中.然后返回SourceTree,你不应再看到错误. (5认同)
  • 谢谢!!很高兴知道为什么源树本身不能做到这一点!或弹出一个屏幕询问! (2认同)
  • 效果很好,我有一个特定的端口也需要使用 -P 选项进行设置。 (2认同)

Ali*_*aka 59

我将客户端配置从putty更改为openssh.做完了.撷取画面:

在此输入图像描述

  • 谢谢:D win10 64bit,1.8.3 (2认同)

luc*_*ado 6

通过将 SSH 提供商的“Putty/Plink”SSH 更改为“OpenSSH”,我能够解决该问题。

Menu Tools > Options then SSHClient, select OpenSSH
Run Code Online (Sandbox Code Playgroud)


小智 5

最好的解决方案是使用 Putty 建立连接。

在主机名上,输入您的 gitlab 项目 ssh 地址。然后,单击“打开”进行连接。

就是这样。毕竟 SourceTree 信任 gitlab.com。您可以通过下面的链接查看解决方案。 https://answers.atlassian.com/questions/31659457/windows-7-64bits-sourcetree-openssh-putty-git-pull-not-working

在此输入图像描述