2015-04-12 116 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