Gitolite 不更新authorized_keys 文件

发布于 2024-12-06 02:10:01 字数 554 浏览 1 评论 0原文

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

我成功安装了 Gitolite 并可以访问 gitolite-admin 存储库、配置并放置新密钥。当我committed和pushed时,一切都很好,直到我注意到我无法再次访问新的存储库或gitolite-admin存储库...

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

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

我不知道我错过了什么 - 出了点问题,但我没有知道它是什么。

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

I have recently installed Gitolite in a Cygwin environment using SSH keys and everything else.

I successfully installed Gitolite and had access to the gitolite-admin repository, configured and put the new keys. When I committed and pushed, everything was fine until I noticed that I can't access the new repositories or gitolite-admin repository again ...

I then entered my server via ssh and noticed that gitolite deleted all of the public keys in authorized_keys except for my default SSH key I configured with SSH.

I checked if the hooks are propagating and everything looks fine - Gitolite created the new repositories and compiled the new gitolite.conf

I don't know what i missed - something is wrong but I don't have an idea what it is.

The last I saw is that the file ~/.gitolite/src/sshkeys-lint manage the authorized_keys files but i dont understand the shell script language very well.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

终遇你 2024-12-13 02:10:01

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

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 中的 find.exe,而不是 cywin 中的。

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

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

我有 gitolite 在 Windows Server 2008 机器上工作,镜像工作正常。 (我已将其配置为从机,主机是 centOs 机器。)
更多信息,
由于您已将 sshd 安装为 Windows 服务,因此 cygwin 路径将获得比 Windows 路径更低的优先级。

When you commit, are you getting the following error in the console(of the machine where from you are commiting)??

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

If yes then the problem is the find.exe.

Windows has a find.exe in its \windows\system32 folder and cygwin has its own find.exe. Usually \windows\system32 comes first in the environment variable 'path'.

Gitolite uses 'find' in its scripts, but unfortunately the find.exe from windows rather than from cywin gets executed.

Now to fix the problem, go to the environment variables tab and add bin directory of cygwin before system32.

After this you wont face the issue of "authorized_keys file getting cleared on a commit" again.

I have gitolite working on windows server 2008 machine with mirroring working fine. (I have configured this as a slave and the master is a centOs machine.)
More info,
As you have installed sshd as a windows service, the cygwin path would be given lesser proirity over windows path will kick in.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文