2015-04-12 77 views
4

我已经在Ubuntu 14.04上安装了最新版本的GitLab,除了推送到远程外,它工作正常。gitlab-shell:不允许的命令

运行ssh [email protected] "git-receive-pack repo.git"效果很好。在〜/ gitlab壳/ gitlab-shell.log,结果是

INFO -- : gitlab-shell: executing git command git-receive-pack repo.git for user with key key-1.

但是当我跑步时git push,日志说:

WARN -- : gitlab-shell: Attempt to execute disallowed command git receive-pack 'repo.git' by user with key key-1.

,输出是:

fatal: protocol error: bad line length character: Disa

ssh [email protected] "git receive-pack repo.git"输出是

"Disallowed command"

所以允许和不允许的区别是缺少的短划线。

我的Git版本:

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

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

回答

0

我已经花了很多时间在这个问题上我自己,当我有以下返回:

fatal: protocol error: bad line length character: This 

我读过,这可能发生因与壳牌访问(问题是接入允许?)在服务器上。

看看Git push results in fatal: protocol error: bad line length character: This,这对我有帮助。

我希望它在某些方面有帮助.. :)

+0

我想这只能是与gitlab壳问题,否则'SSH [email protected]“混帐收到包repo.git”'是行不通的。 和gitlab检查都是绿色的... – raphaelj

6

我一直有同样的问题,和编辑〜/的.gitconfig解决了这个问题。

的东西,在过去的一段时间,修改了我的本地〜/的.gitconfig文件,插入该条目:

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

我修改了它的下面,现在一切正常。

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