O seguinte funciona para mim.
Em ~/.ssh/authorized_keys :
command="./gitserve",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-dss AAAAB…
No script ~/gitserve :
#!/bin/sh
exec git-shell -c "$SSH_ORIGINAL_COMMAND"
Observe que, se você colocar gitserve em outro lugar que não seja o diretório inicial, será necessário ajustar o parâmetro command="./gitserve" em authorized_keys .