gitolite信息不起作用,添加密钥后将其转换为no access
密钥,并且未在auth-keys文件中创建相应的条目。
要在gitolite服务器上修复此运行gitolite setup
gitolite setup
在第n次被调用时会做什么(根据它修复钩子的文档,它不再设置任何东西,但是我想知道用例是什么,哪个是我的) ?
gitolite info命令的调用方式如下:
> ssh git-user@ser-git
PTY allocation request failed on channel 0
hello git-admin, this is ...@... running gitolite3 3.6.7-2 (Debian) on git 2.17.1
R W some-repository
R W gitolite-admin
R W testing
Connection to ser-git closed.
输出错误:FATAL: unknown git/gitolite command: 'info'
gitolite sshkeys-lint
正在显示带有(no access)
的按键,现在这些按键可以按我设置的方式访问(现在的意思是gitolite setup
之后)。
ssh-keygen -lf /home/repo/.ssh/authorized_keys | wc -l
(或无管道部分,无论如何)键的数量及其名称表明我没有添加最新的键。
不适用于我的类似问题:keydir entries not propagating to authorized_keys
答案 0 :(得分:0)
我猜一旦更深入地研究,文档就几乎可以找到答案。 @sitaramc挺不错的。
- 没有选项,“ gitolite设置”是常规的“修复所有问题”命令 (例如,如果您从外部带来了回购协议,或者有人将其弄乱了 周围的钩子,或者您做了一个影响访问的rc文件更改 规则等)
症状键停止传播,并且在FATAL: unknown git/gitolite command: 'info'
上出现错误ssh git-user@ser-git
。解决方法是运行gitolite setup
。因此,第一个问题就是标题:
gitolite setup
已实现here 我的Perl很弱,但是line 56中有一个设置功能。它会调用args(解析选项,因此这里没有要解析的东西),然后除非未使用h_only
(只安装arg),所以我们跳过compile
和{{1 }}触发并开始执行操作。
子设置{ 我的($ admin,$ pubkey,$ h_only,$ message)= args();
POST_COMPILE
}
软件包unless ($h_only) {
setup_glrc();
setup_gladmin( $admin, $pubkey, $message );
_system("gitolite compile");
_system("gitolite trigger POST_COMPILE");
}
hook_repos(); # all of them, just to be sure
具有Gitolite::conf::store
,line 228:我们将目录更改为repo基本目录(根据配置文件),对于每个phy_repo,我们都执行{{1} }。什么是phy_repo? <物理>物理上的。
hook_1($repo)
in line 354。 hook_repos()
从字面上看,这是关于固定所有挂钩的。
hook_1(phy_repo)
将文件夹链接到常用/管理员挂钩。hook_1($repo)
是公共模块,位于line 162