Windows上的Git push over SSH将无法正常工作

时间:2014-04-12 19:46:56

标签: windows git ssh msysgit

我为你们带来了一个谜!

在这个问题上经过半天的努力,我需要你的经验来启发我使用msysgit在Windows上使用git。

上下文:

  • Windows 8
  • msysgit ,最新版本
  • 使用 SSH 密钥身份验证
  • Pagent 使用有效的 .ppk 键处理SSH密钥身份验证(使用PuTTY登录即可)
  • 裸存储库是健康的,权限正常。使用git linux客户端(使用相同的SSH密钥在本地Ubuntu VM上测试)

ENV:

  • GIT_SSH = d:\路径\到\腻子\ plink.exe
  • HOME = C:\路径\到\自己

问题:

短:

error: insufficient permission for adding an object to repository database ./obj

长:

D:\path\to>git clone ssh://git@my.server.net/opt/git/project
Cloning into 'project'...
Unable to use key file "D:\path\to\puttykey.ppk" (unable to open file)
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
Checking connectivity... done.

D:\path\to>cd project

...me creating some random file...

D:\path\to\project>git add test

D:\path\to\project>git commit -m "Init"
[master 118a94e] Init
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test

D:\path\to\project>git push origin master
Unable to use key file "D:\path\to\puttykey.ppk" (unable to open file)
Counting objects: 2, done.
Writing objects: 100% (2/2), 293 bytes | 0 bytes/s, done.
Total 2 (delta 1), reused 2 (delta 1)
error: insufficient permission for adding an object to repository database ./obj

fatal: failed to write object
error: unpack failed: unpack-objects abnormal exit
To ssh://git@my.server.net/opt/git/project
 ! [remote rejected] master -> master (n/a (unpacker error))
error: failed to push some refs to 'ssh://git@my.server.net/opt/git/project'

我老老实实地接受任何形式的帮助,谢谢你提前......!

顺便说一句,这个Unable to use key file "D:\path\to\puttykey.ppk" ??

到底是怎么回事

1 个答案:

答案 0 :(得分:3)

大多数答案,如" Error pushing to GitHub - insufficient permission for adding an object to repository database"提到了文件夹中访问权限的问题 这转化为chmod ......它并不适用于Windows。

但是当{s}网址引用%HOME%/.ssh/config文件中的条目时,this answer提到相同的错误消息,该条目用于另一个公共/私有ssh密钥而不是您想要的密钥使用。

确保您的网址使用了正确的条目,正如我在" access repository with ssh"

中解释的那样
Host aKey
    User git
    HostName yourHost
    Port 22
    IdentityFile ~/.ssh/<stranger@gmail.com>.key

此处,OP blint添加in the comments

  因此,由于在有罪的PuTTY个人资料中定义了错误的路径,因此消息Unable to use key file "D:\path\to\puttykey.ppk"