gitlab-shell:不允许的命令

时间:2015-04-12 10:08:32

标签: git shell ssh gitlab

我已经在Ubuntu 14.04上安装了最新版本的GitLab,除了推送到遥控器外它工作正常。

正在运行ssh git@example.com "git-receive-pack repo.git"效果很好。在〜/ gitlab-shell / gitlab-shell.log中,结果是

  

INFO - :gitlab-shell:为具有密钥-1的用户执行git命令git-receive-pack repo.git。

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

  

WARN - :gitlab-shell:用户使用密钥-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)

我该如何解决?有配置参数吗?

2 个答案:

答案 0 :(得分:6)

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

在过去的某个时候,有些东西修改了我的本地〜/ .gitconfig文件并插入了这个条目:

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

我将其修改为以下内容,现在一切正常。

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

答案 1 :(得分:0)

当我退回以下内容时,我自己花了很多时间处理这个问题:

fatal: protocol error: bad line length character: This

我读过这可能是因为服务器上的Shell访问问题(是否允许访问?)而发生这种情况。

查看那时帮助我的Git push results in fatal: protocol error: bad line length character: This可能会有用。

我希望它在某种程度上有所帮助.. :)