Can you specify git-shell in .ssh/authorized_keys to restrict access to only git commands via ssh?
The following works for me.
In ~/.ssh/authorized_keys
:
command="./gitserve",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-dss AAAAB…
In the ~/gitserve
script:
#!/bin/sh
exec git-shell -c "$SSH_ORIGINAL_COMMAND"
Note that if you put gitserve
somewhere other than the home directory, you will have to adjust the command="./gitserve"
parameter in authorized_keys
.
I could successfully use git-shell directly in the authorizedKeys file without using an additionnal script.
The key is to add \"
around the env variable.
Tested in rhel6 openssh-server-5.3p1-70.el6.x86_64:
no-port-forwarding,no-agent-forwarding,command="git-shell -c \"$SSH_ORIGINAL_COMMAND\"" ssh-dss AAAA...