如评论中所见,任何额外的回购在其创建过程中都会出现问题(即,当使用声明新回购gitolite-admin
的文件推回回购时)gitolite.conf
我之前没有注意到这一点,但是当我创建一个新的仓库时,我收到以下错误:
remote: line 1 too long: command="/home/git/gitolite/src/gitolite...
remote: FATAL: fingerprinting failed for /tmp/Cdug9Itivq
但它正在创建回购/home/git/repositories
此操作发生在名为的编译后触发器中ssh-authkeys
:
sub fp_file {
return $selinux++ if $selinux; # return a unique "fingerprint" to prevent noise
my $f = shift;
my $fp = `ssh-keygen -l -f '$f'`;
chomp($fp);
_die "fingerprinting failed for '$f'" unless $fp =~ /([0-9a-f][0-9a-f](:[0-9a-f][0-9a-f])+)/;
$fp = $1;
return $fp;
}
这意味着ssh-keygen -l -f <path_to_public_key.pub>
没有遵循正确的模式,如“自助服务密钥管理”所示。
确保您的密钥生成如下:
ssh-keygen -t rsa -f "${H}/.ssh/git" -C "Gitolite Admin access (not interactive)" -q -P ""
2015 年 4 月更新:
正如starfry在“ Gitolite - 远程:致命:'keydir/' 的指纹识别失败”中提到的:
在 6.8 版中,OpenSSH 中的密钥指纹格式发生了变化:
将FingerprintHash
选项添加到ssh(1)
and sshd(8)
,并将等效的命令行标志添加到其他工具,以控制用于密钥指纹的算法。默认从 MD5 更改为 SHA256,格式从 hex 更改为 base64。
指纹现在预先添加了哈希算法。
新格式的示例:
SHA256:mVPwvezndPv/ARoIadVY98vAC0g+P/5633yTC4d/wXE
请注意,视觉主机键也会有所不同。
自 2015 年 3 月 18 日以来,gitolite的最新 git checkout 已意识到这种新格式。