gpt4 book ai didi

ubuntu - 为什么 ssh 连接到 gitlab 不起作用(而 http 推送和克隆工作正常)?

转载 作者:太空宇宙 更新时间:2023-11-03 16:44:07 25 4
gpt4 key购买 nike

我在一台旧电脑上运行 x86 raring ringtail 并安装了 bitnami gitlab 5.3。

这是我尝试在 SSH 模式下推送第一个主分支时的错误消息:

fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.

(它在 http 协议(protocol)中与 gitlab web 仪表板凭据一起工作)

  1. 我用 root 用户启动了 bitnami-installer.run 所以我认为所有文件都放在 /opt 而不是 /home(这是好的程序?)
  2. 在安装 GitLab 之前我没有 git 用户,因为我听说它可能会混淆 .ssh/authorized_keys 文件和其他权限。
  3. 当我运行 ssh -T git@my-server.com 时它显示 permission denied (public key) 但我客户端计算机上的 pub key 也在 .ssh/authorized_keys?
  4. authorized_keys 也有正确的内容,每一行:

    command= "/opt/gitlab/apps/"
  5. 我还注意到我无法使用 sudo -su git nano authorized_keys 显示 authorized_keys 文件的内容,因为:

    the user is not in the sudoers file.

  6. 但是 sudo/opt/gitlab/apps/gitlab/gitlab-shell/bin/check 为每次验证返回 ok (gitlab api, acces, repo和 /home/git/.ssh/authorized_keys 文件(因为我在 config.yml gitlab_url 中设置为:http://myserver.com/gitlab(本地服务器 ip 地址)而不是 http://loopbackaddress.com/gitlab)。我注意到我有 gitlab-shell 目录的“两个版本”,一个在 /opt 中,一个在 /home 中,我不知道它是否合适?

  7. 当我尝试 ssh -Tv 时,似乎 ssh 服务器甚至不接受我的 key ,验证失败并最终返回 « permission denied »。
  8. 除了 sshd[number] 之外,/var/log/auth.log 文件中也没有什么特别之处:连接已被 IP 地址关闭
  9. authorized_keys 文件路径设置为 /etc/ssh/sshd_config 文件中正确的绝对 url (/home/git/.ssh/authorized_keys)
  10. 最后我无法使用 « bundle exec bin/rake » 进行调试,因为我无法让我的 ubuntu 安装所有必需的 pacakge 来执行 bundle。

我几乎可以肯定这是一个简单的 ssh 配置错误或调用 authorized_keys 文件中的 command="/opt/...../gitlab-shell" 时出现的错误

PS:使用带有 HTTP 协议(protocol)的 git 对于我的家庭服务器来说就足够了,但是 gitlab 仪表板的兴趣在于通过在 web 表单中填写 ssh key 并在之后使用 ssh 轻松添加贡献者

最佳答案

我在尝试通过 ssh 从新安装的 gitlab 克隆 repo 时遇到以下错误:

fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

解决方案位于 https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide#ssh

检查 ssh 日志/var/log/auth.log 如果发现错误:

User git not allowed because account is locked

然后编辑 /etc/shadow 并将 git:!: 更改为 git:*:

附言就我而言,在 CentOS 6.5 上是/var/log/secure 和 git:!!:

关于ubuntu - 为什么 ssh 连接到 gitlab 不起作用(而 http 推送和克隆工作正常)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17726281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com