我试图设置一个gitolite实例,并遇到一个问题,我按照通常的程序添加用户(即将公钥文件添加到keydir / xxx.pub;提交并推送上游)但是然后我发现我无法使用我添加的密钥克隆存储库。
我已经验证我已经向gitolite-admin做出的提交(添加公钥)已成功推送到上游(即在gitolite安装中的裸gitolite-admin仓库)。
我注意到没有对" gitolite"的authorized_keys文件进行相应的更改。用户,这对我来说似乎不对 - 我希望在那里添加公钥,我怀疑这就是身份验证不起作用的原因。
我还能在哪里解决这个问题?
答案 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(删除了其中的一些空格)。然后,在推送之后,将用户添加到授权密钥文件中。