I've installed the recent version of GitLab on Ubuntu 14.04 and it works fine except pushing to the remote.
Running ssh git@example.com "git-receive-pack repo.git"
works well. In ~/gitlab-shell/gitlab-shell.log, result is
INFO -- : gitlab-shell: executing git command git-receive-pack repo.git for user with key key-1.
But when I'm running git push
, the log says:
WARN -- : gitlab-shell: Attempt to execute disallowed command git receive-pack 'repo.git' by user with key key-1.
And the output is:
fatal: protocol error: bad line length character: Disa
The output of ssh git@example.com "git receive-pack repo.git"
is
"Disallowed command"
So the difference between allowed and disallowed is a missing dash.
My git versions:
- Local git version: 2.2.1 (OS X)
- Remote git version: 1.9.1 (Ubuntu 14.04)
How can I fix that? Is there a config param?
I have been having the same problem, and editing ~/.gitconfig solved the problem.
Something, at some time in the past, had modified my local ~/.gitconfig file and inserted this entry:
I modified it to the following, and now everything works well.
I've spend a lot of time on this problem myself when I had the following returned:
I've read that this can happen due to of problems with the Shell access (is the access allowed?) on the server..
It might be useful to look at Git push results in fatal: protocol error: bad line length character: This, which helped me back then.
I hope it's helpful in some way.. :)