keydir条目未传播到authorized_keys

时间:2014-06-10 19:56:56

标签: gitolite

我试图设置一个gitolite实例,并遇到一个问题,我按照通常的程序添加用户(即将公钥文件添加到keydir / xxx.pub;提交并推送上游)但是然后我发现我无法使用我添加的密钥克隆存储库。

我已经验证我已经向gitolite-admin做出的提交(添加公钥)已成功推送到上游(即在gitolite安装中的裸gitolite-admin仓库)。

我注意到没有对" gitolite"的authorized_keys文件进行相应的更改。用户,这对我来说似乎不对 - 我希望在那里添加公钥,我怀疑这就是身份验证不起作用的原因。

我还能在哪里解决这个问题?

3 个答案:

答案 0 :(得分:2)

  

我注意到没有对" gitolite"的authorized_keys文件进行相应的更改。用户,这对我来说似乎不对 - 我希望在那里添加公钥,我怀疑这就是身份验证不起作用的原因。

这确实是问题的根源。

您可以在〜/ .gitolite / logs

中查看日志

但请确保您已将该用户添加为gitolite-admin/conf/gitolite.conf文件中某个存储库的成员,以查看问题是否仍然存在。

您可以关注ssh troubleshooting并直接在服务器上运行:

  • gitolite compile查看是否有任何错误消息
  • gitolite sshkeys-lint,检查管理目录的keydir中的每个密钥,可用的访问权限。

答案 1 :(得分:2)

好的,我想我看到导致这种情况的一系列事件:

1)编辑gitolite-admin的本地克隆(添加xxxxxx.pub并编辑gitolite.conf) 2)推送到主人 - 失败remote: check GL_GITCONFIG_KEYS in the rc file for how to allow it 3)修复.gitolite.rc中的相应配置 4)再次尝试步骤(2);成功 5)观察到.ssh / authorized_keys尚未更新。 6)对gitolite-admin进行另一次编辑(微不足道的变化;只添加评论) 7)将gitolite-admin推向掌握 8)所有键都在.ssh / authorized_keys中正确设置。

问题是,在(2)中失败时,提交被成功推送到上游,但更新authorized_keys的钩子由于给定的原因而无法运行;在尝试重复推送时(步骤4),git观察到推送是无操作,并且挂钩未运行。对gitolite-admin(6)做一个微不足道的改变并再次推动(7)迫使git执行一个实际的push操作并练习钩子。

这是一个相当古老的gitolite版本(v1.5.7),我必须出于实际原因使用它,所以我不知道最新版本是否也会这样。

答案 2 :(得分:0)

我今天遇到了与乙醇钠相同的“钩子不开始”问题:

commit ef9ab68412cbee93c24eb920dbabbb6daa8b1c08
Date:   Tue Jun 11 11:53:30 2019 +0530

我遇到的问题是,用户在.pub文件中有多个行(末尾是换行符)(但仍然是一个键)。仅仅删除多余的换行符并进行推送是行不通的。我不得不修改gitolite.conf(删除了其中的一些空格)。然后,在推送之后,将用户添加到授权密钥文件中。