Gitolite没有更新authorized_keys文件

Raf*_*ael 6 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脚本语言.

man*_*noj 6

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

remote: FIND: Parameter format not correct 
remote: FIND: Parameter format not correct 
Run Code Online (Sandbox Code Playgroud)

如果是,那么问题是find.exe.

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

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

现在要修复问题,转到环境变量选项卡并在system32之前添加cygwin的bin目录.

在此之后,您将不会再遇到"authorized_keys文件在提交时被清除"的问题.

我有gitolite在Windows Server 2008机器上工作,镜像工作正常.(我已经将它配置为从属设备,主设备是一个中心机器.)更多信息,因为你已经安装了sshd作为Windows服务,所以cygwin路径将被赋予较少的优势,而Windows路径将会启动.