Gitlab 7.8.4 无法使用 SSH 或 HTTPS 推送

Gitlab 7.8.4 unable to push with SSH or HTTPS

我们的设置: Git实验室 CE Git实验 7.8.4 Git-shell:2.5.4 Git实验室API:v3 Ruby:2.1.5p273 Rails: 4.1.1

这是一个私人存储库上的测试,该存储库由尝试推送到它的同一用户(用户是管理员)拥有。环境检查很干净,没有错误。无论我们尝试 HTTPS 还是 SSH,都出现同样的错误。 SSH 在升级前工作。

错误:

git push -u origin master
/usr/local/lib/ruby/2.1.0/json/common.rb:155:in `parse': 757: unexpected token at 'false' (JSON::ParserError)
    from /usr/local/lib/ruby/2.1.0/json/common.rb:155:in `parse'
    from /home/git/gitlab-shell/lib/gitlab_access_status.rb:13:in     `create_from_json'
    from /home/git/gitlab-shell/lib/gitlab_net.rb:34:in `check_access'
    from /home/git/gitlab-shell/lib/gitlab_shell.rb:25:in `exec'
    from /home/git/gitlab-shell/bin/gitlab-shell:16:in `<main>'
fatal: Could not read from remote repository.

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

类似问题: https://gitlab.com/gitlab-org/gitlab-ce/issues/838

看起来我们可以通过 HTTPS 和 SSH 进行正确的访问,但是服务器上的某些东西,也许 git-shell 是不正确的。

我们目前所做的:

sudo -u git -H bundle exec rake gitlab:shell:setup RAILS_ENV=production

确保 'AllowUsers git' 在 sshd_config

ssh-keygen -A
ssh-keygen: generating new host keys: ED25519

尝试了不同版本的 git-shell 回到 2.2.0。

# ssh git@gitlab.domain.com
PTY allocation request failed on channel 0
Welcome to GitLab, Anonymous!
Connection to gitlab.domain.com closed.

正如 Geoff 所指出的,我的问题是 gitlab-shell/config.yml 配置不当。更正 gitlab_url 的类型后,我们就可以毫无问题地推送和拉取 HTTPS 和 SSH。