I am attempting to setup a mirror-to-backup hook in our repositories. The hook is executing a git push --mirror backup@server:path/foo.git. However it fails stating:

fatal: What do you think I am? A shell?
fatal: The remote end hung up unexpectedly

My .ssh/authorized_keys file has the following entry:

command="/path/to/git-shell" ssh-rsa ....

# no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty
# these are all set i just removed them for brevity.

I've tried various combinations but the git-shell documentation is exceedingly sparse. I'm not sure what the problem is I'm hoping someone here could point me in the right direction. What is causing this error? I was under the impression that git-shell was intended to be used with push/pull. Clearly, I must be missing something but I haven't a clue what it is.

The path on the backup server is to a set up bare repository.

link|improve this question
feedback

2 Answers

Note a complete answer, but you can take some clues from the gitolite mirror-shell setup, where a gl-mirror-shell script is actually calling git shell.

link|improve this answer
feedback

Perhaps have a look here:

http://joey.kitenet.net/blog/entry/locking_down_ssh_authorized_keys/

This page suggests

command="perl -e 'exec qw(git-shell -c), $ENV{SSH_ORIGINAL_COMMAND}'"

to forward SSH_ORIGINAL_COMMAND to git-shell. It works at my side.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.