【问题标题】:Gitlab CE Doesn't Add a Public Key to authorized_keysGitlab CE 不向authorized_keys 添加公钥
【发布时间】:2020-03-26 04:14:21
【问题描述】:

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

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

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

  • 我有 chmod 相关文件夹和 authorized_keys 文件。 0700 用于家庭,0711 用于.ssh0600 用于authorized_key 文件

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

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

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

【问题讨论】:

  • 什么给了ssh -Tv git@mygitlab
  • @phd,我有私钥,我可以使用其他用户名 ssh 到同一台机器,我认为问题是我添加公钥后服务器中的 authorized_keys 文件没有更新gitlab 网页界面。我刚刚手动添加了公钥,我可以使用 git name shh,但是没有欢迎消息,当我尝试克隆时,它给了我其他错误:致命:无法从远程存储库读取。请确保您拥有正确的访问权限并且存储库存在。
  • repo名称正确,我是从gitlab项目中复制粘贴的
  • repo名字无所谓,问题出在ssh隧道,也就是git还没涉及到。

标签: linux git ssh centos gitlab


【解决方案1】:

您可能想要配置Fast lookup of authorized SSH keys in the database

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

编辑:此错误是在 GitLab 12.9 中引入的。是confirmed,应该会在12.9.1补丁发布中解决,预计很快就会发布。

【讨论】:

    【解决方案2】:

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

    编辑:不知何故,幸运的是,我设法通过创建一个新用户来解决这个问题,为该用户添加了 ssh 密钥并再次运行 gitlab-rake gitlab:shell:setup 以使 Gitlab 将公钥添加到 authorized_keys 文件中。

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

    【讨论】:

      猜你喜欢
      • 2011-09-16
      • 2022-08-12
      • 1970-01-01
      • 2012-09-05
      • 2022-11-02
      • 2018-12-07
      • 1970-01-01
      • 2018-04-25
      • 2012-12-13
      相关资源
      最近更新 更多