“无法生成指纹”-Ubuntu 16.04 上的 Gitlab

“无法生成指纹”-Ubuntu 16.04 上的 Gitlab

我正在尝试设置 Gitlab 服务器。添加 ssh 密钥时,出现错误“无法生成指纹”。我在 Google 上搜索解决方案,发现了一些可能导致此问题的问题。

首先是确保 SELinux 能够正确访问。由于我没有安装 SElinux,所以这不会有问题。

第二步是确保ssh-keygen已安装并且生成的密钥没有与之关联的密码短语。检查过,没有问题。

第三是检查用户是否git可以访问tmpGitlab 创建的目录。我也检查了这一点。

这是链接我按照来设置gitlab。

答案1

问题在于,根据这些说明安装的 Gitlab 版本(版本 6.9.2)太旧了(当前版本为 8.14)——ssh-keygen当时输出的是基于 MD5 的指纹哈希;现在默认为 SHA256。解决方案来自 -修复gitlab“无法生成指纹”错误- 如下:

  • 编辑<path-to-gitlab>/app/models/key.rb
  • 更改此行

cmd_output, cmd_status = popen(%W(ssh-keygen -lf #{file.path}), '/tmp')

  • 有了这个

cmd_output, cmd_status = popen(%W(ssh-keygen -E md5 -lf #{file.path}), '/tmp')

  • 重启 Gitlab

相关内容