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

7_R*_*R3X 5 ssh 16.04 gitlab

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

首先是确保从 SELinux 正确访问。因为我没有安装 SElinux,所以这不是问题。

其次是确保ssh-keygen已安装并且生成的密钥没有与之关联的密码短语。检查了它,没有问题。

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

这是我用来设置 gitlab的链接

Ant*_*nyK 6

问题是根据这些说明安装的 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