我正在尝试设置一个 gitolite 实例,并遇到一个问题,我按照通常的程序添加用户(即将公钥文件添加到 keydir/xxx.pub;提交并推送到上游),但后来我发现我无法使用我添加的密钥克隆存储库。
我已经验证我对 gitolite-admin 所做的提交(添加公钥)已成功推送到上游(即到 gitolite 安装中的裸 gitolite-admin 存储库)。
我注意到没有对“gitolite”用户的authorized_keys 文件进行相应的更改,这对我来说似乎是错误的 - 我希望看到在那里添加公钥,我怀疑这就是身份验证不起作用的原因。
我还可以从哪里寻找解决此问题的方法?
好的,我想我看到了导致此情况的事件顺序:
1)编辑gitolite-admin的本地克隆(添加xxxxxx.pub并编辑gitolite.conf)
2) 推送到 master - 失败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 推送到 master
8) 所有密钥均在 .ssh/authorized_keys 中正确设置。
问题是,在 (2) 中失败时,提交已成功推送到上游,但更新authorized_keys 的钩子由于给定的原因无法运行;在尝试重复推送(步骤 4)时,git 观察到推送是无操作,并且钩子没有运行。对 gitolite-admin (6) 进行一个简单的更改并再次推送 (7) 强制 git 执行实际的推送操作并执行挂钩。
这是 gitolite (v1.5.7) 的一个相当旧的版本,出于实际原因我必须使用它,所以我不知道最新版本是否也会这样。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)