Gitolite没有更新authorized_keys文件

时间:2011-09-23 13:26:07

标签: git ssh openssh gitolite

我最近使用SSH密钥和其他所有东西在Cygwin环境中安装了Gitolite。

我成功安装了Gitolite,并且可以访问gitolite-admin存储库,配置并放入新密钥。当我commitpush编辑时,一切都很好,直到我发现我无法再访问新的存储库或gitolite-admin存储库...

然后我通过ssh进入我的服务器并注意到gitolite删除了authorized_keys中的所有公钥,除了我使用SSH配置的默认SSH密钥。

我检查了钩子是否正在传播并且一切都很好 - Gitolite创建了新的存储库并编译了新的gitolite.conf

我不知道我错过了什么 - 有些不对劲但我不知道它是什么。

我看到的最后一个是文件~/.gitolite/src/sshkeys-lint管理authorized_keys文件,但我不太了解shell脚本语言。

1 个答案:

答案 0 :(得分:6)

当你提交时,你是否在控制台(从你提交的机器)中收到以下错误?

remote: FIND: Parameter format not correct 
remote: FIND: Parameter format not correct 

如果是,则问题是find.exe。

Windows的\ windows \ system32文件夹中有一个find.exe,cygwin有自己的find.exe。通常\ windows \ system32首先出现在环境变量'path'中。

Gitolite在其脚本中使用“find”,但不幸的是,来自windows而不是cywin的find.exe被执行。

现在解决问题,转到环境变量选项卡并在system32之前添加cygwin的bin目录。

在此之后,您将不会再遇到“授权_keys文件在提交时被清除”的问题。

我在windows server 2008机器上使用gitolite,镜像工作正常。 (我已将此配置为从属设备,主设备是中心机器。) 更多信息, 由于你已经安装了sshd作为windows服务,所以cygwin路径将被赋予较少的优势,因为windows路径将会启动。

相关问题