Gitlab CE 不会向authorized_keys添加公钥



我刚刚在CentOS 7中安装了最新的Omnibus Gitlab。我已经将公钥添加到我的帐户中,但每次我尝试使用ssh(如ssh git@mygitlab.com(连接时,gitlab都会不断提示我输入密码。git主文件夹是/var/opt/gitlab

以下是我做过的各种事情:

  • 我已经检查了在管理区域->设置->网络中是否检查了对authorized_keys的写入

  • 我已经修改了相关的文件夹和authorized_keys文件。0700用于家庭,0711用于.ssh0600用于authorized_key文件

  • 我已经删除并重新创建了authorized_keys文件

  • 我检查了各种gitlab日志文件,没有显示任何线索

  • 我已经使用gitlab-ctl重新启动并重新配置了计算机

您可能需要在数据库中配置授权SSH密钥的快速查找。

这应该可以解决您面临的问题,并且无论何时有人在GitLab中添加或删除SSH/deploy密钥,都不需要手动重建authorized_keys文件。

编辑:这个bug是在GitLab 12.9中引入的。它已经得到证实,应该通过12.9.1补丁发布来解决,预计很快就会发布。

我已经解决了一半的问题,尽管我不知道根本原因是什么。我查看了这一页的文档。https://docs.gitlab.com/ee/administration/raketasks/maintenance.html#rebuild-authorized_keys-learnabout使用以下命令重建authorized_key:sudo gitlab-rake gitlab:shell:setup,gitlab重建密钥并在.ssh文件夹中创建authorized_keys.lock。现在,我可以ssh-T了git@mygitlab.com,虽然用户名被更改为匿名,但现在我面临另一个问题。当我尝试克隆或推送时,gitlab说找不到该项目。:(.我想我得多找一些。

EDIT:幸运的是,我创建了一个新用户,为该用户添加了ssh密钥,并再次运行gitlab-rake gitlab:shell:setup,使Gitlab将公钥添加到authorized_keys文件中,从而解决了这个问题。

Gitlab真是一团糟,我看到了很久以前(5-6年前,仍然是类似的问题(关于这个authorized_keys和ssh的大量问题,现在仍然存在。

最新更新