gitlab shell:不允许的命令

gitlab shell:不允许的命令,git,shell,ssh,gitlab,Git,Shell,Ssh,Gitlab,我已经在Ubuntu14.04上安装了GitLab的最新版本,除了推到远程之外,它工作正常 正在运行sshgit@example.com“git receive pack repo.git”运行良好。在~/gitlab-shell/gitlab-shell.log中,结果为 信息--:gitlab shell:为密钥为key-1的用户执行git命令git receive pack repo.git 但当我运行git push时,日志会显示: 警告--:gitlab外壳程序:试图由密钥为key-1

我已经在Ubuntu14.04上安装了GitLab的最新版本,除了推到远程之外,它工作正常

正在运行
sshgit@example.com“git receive pack repo.git”
运行良好。在~/gitlab-shell/gitlab-shell.log中,结果为

信息--:gitlab shell:为密钥为key-1的用户执行git命令git receive pack repo.git

但当我运行git push时,日志会显示:

警告--:gitlab外壳程序:试图由密钥为key-1的用户执行不允许的命令git receive pack'repo.git'

输出为:

致命:协议错误:错误的行长度字符:Disa

ssh的输出git@example.com“git receive pack repo.git”

“不允许的命令”

因此,允许和不允许之间的区别是缺少破折号

我的git版本:

  • 本地git版本:2.2.1(OS X)
  • 远程git版本:1.9.1(Ubuntu 14.04)

我怎样才能解决这个问题?是否有配置参数?

当返回以下内容时,我自己也花了很多时间来解决此问题:

fatal: protocol error: bad line length character: This
我已经了解到,这可能是由于服务器上的Shell访问(允许访问吗?)

这可能是有用的,这对我当时很有帮助


我希望它在某些方面有所帮助……)

我也遇到了同样的问题,编辑~/.gitconfig解决了这个问题

在过去的某个时候,有人修改了我的本地~/.gitconfig文件并插入了以下条目:

[remote "origin"]
        receivepack = git receive-pack
我将其修改为以下内容,现在一切正常

[remote "origin"]
        receivepack = git-receive-pack

我想这可能只是gitlab shell的问题,否则
sshgit@example.com“git receive pack repo.git”
不起作用。gitlab的支票都是绿色的…