6

我在我的系统中安装了 Gitolite 来管理存储库。当我尝试添加任何客户端计算机的公钥时,我收到错误“远程:致命:'keydir/'的指纹识别失败”。请你帮我解决这个问题。

4

3 回答 3

3

我只是在进行新安装时遇到了这个问题。在 6.8 版中,OpenSSH 中的密钥指纹格式发生了变化:

将 FingerprintHash 选项添加到 ssh(1) 和 sshd(8),并将等效的命令行标志添加到其他工具,以控制用于密钥指纹的算法。默认从 MD5 更改为 SHA256,格式从 hex 更改为 base64。

指纹现在预先添加了哈希算法。新格式的示例:SHA256:mVPwvezndPv/ARoIadVY98vAC0g+P/5633yTC4d/wXE 请注意,可视主机密钥也会有所不同。

自 2015 年 3 月 18 日以来,gitolite 的最新 git checkout已意识到这种新格式。

于 2015-04-20T13:40:33.463 回答
2

正如我在“ Getting fatal: object is corrupted when push to a remote repo ”中记录的那样,这是由于 ssh 密钥不正确造成的。

我喜欢像这样生成我的私钥/公钥(不受密码保护):

ssh-keygen -t rsa -f "$HOME/.ssh/git" -C "Gitolite access (not interactive)" -q -P ""
于 2013-06-25T15:32:19.940 回答
1

将 SSH2 (Putty) 密钥添加到 gitolite 后也可以看到此消息。在这种情况下,可以通过以下方式完成从 SSH2 到 OpenSSH 密钥的简单转换:

ssh-keygen -i -f ssh2.pub > openssh.pub
于 2020-10-20T15:11:17.810 回答