我们的设置: Gitlab CE Gitlab 7.8.4 Git-shell:2.5.4 Gitlab 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.
答案 0 :(得分:0)
正如杰夫指出的那样,我的问题是配置错误的gitlab-shell / config.yml。一旦gitlab_url的类型得到纠正,我们就可以在没有任何HTTPS和SSH问题的情况下进行推送和拉动。