我在我的系统中安装了Gitolite来管理存储库。当我尝试添加任何客户端计算机的公钥时,我收到错误“远程:致命:指纹识别失败'keydir /”。你能不能帮我解决这个问题。
答案 0 :(得分:3)
我在处理新安装时遇到了这个问题。 OpenSSH版本6.8中的密钥指纹格式发生了变化:
将FingerprintHash选项添加到ssh(1)和sshd(8)以及等效选项 命令行标志到其他工具来控制使用的算法 用于关键指纹。默认值从MD5更改为SHA256和 格式从十六进制到base64。
指纹现在具有前置的哈希算法。一个例子 新格式:SHA256:mVPwvezndPv / ARoIadVY98vAC0g + P / 5633yTC4d / wXE 请注意,可视主机密钥也会有所不同。
自3月18日' 15这个新格式的最新git checkout gitolite is aware。
答案 1 :(得分:2)
正如我在“Getting fatal: object is corrupted when pushing to a remote repo”中记录的那样,这是由于ssh密钥不正确。
我喜欢生成我的私钥/公钥(不受密码保护):
ssh-keygen -t rsa -f "$HOME/.ssh/git" -C "Gitolite access (not interactive)" -q -P ""
答案 2 :(得分:1)
在将SSH2(Putty)密钥添加到gitolite后,也可以看到此消息。 在这种情况下,可以通过以下方式从SSH2轻松转换为OpenSSH密钥:
ssh-keygen -i -f ssh2.pub > openssh.pub