git在ssh通信上失败了

时间:2013-10-01 19:13:16

标签: ssh putty msysgit

我最近将git升级到1.8.4.msysgit.0(在Windows 7上),因为我无法推送到我多年来一直使用的回购。 (注意:我也降级到1.7.0.2,我曾经使用了很长时间,但这也无济于事。)

我这是为了一个简单的git push

Using username "git-receive-pack 'git-myname".
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

这个奇怪的用户名是什么?

我也收到git clone的类似消息(...git-upload-pack...)。注意:我可以通过https克隆。

对于PuTTY的plink

,SSH本身似乎没问题
C:\test>set GIT_SSH
GIT_SSH=C:\Program Files\PuTTY\plink.exe

C:\test>git remote -v
origin  ssh://git-myname@free1.projectlocker.com:myrepo.git (fetch)
origin  ssh://git-myname@free1.projectlocker.com:myrepo.git (push)

C:\test>"C:\Program Files\PuTTY\plink.exe" -v git-myname@free1.projectlocker.com -i mykey.ppk
Looking up host "free1.projectlocker.com"
...
Using SSH protocol version 2
...
Reading private key file ".\mykey.ppk"
Using username "git-myname".
Offered public key
...
Offer of public key accepted
...
Access granted
Opened channel for session
...

我可以使用相同的密钥从linux框中通过ssh推送到repo。我也可以使用OpenSSH(来自Windows)ssh到主机,但无法设置它以便git正确使用它。

为什么git会失败?

1 个答案:

答案 0 :(得分:1)

经过一番努力和摆弄后,我发现git工作提供:(a)密钥加载到Pageant中,(b)ssh://前缀从远程URL中删除。

(b)与我开始摆弄之前的情况相同;但是,(a)从未被要求过。我可能会采取某种方式来避免这种情况,但我现在很高兴打扰它;)。