Tenho certeza que você poderia colocar algo assim no final do seu sshd_config.
Match User svnuser
ForceCommand svnserve -t
Eu tenho um usuário que gostaria de poder usar apenas o subversion. Nós gostamos de usar svn + ssh: // URLs às vezes (para chaves públicas e outros), então eu preciso que eles sejam capazes de se conectar através do ssh e executar apenas o comando svnserve.
Ao usar uma URL svn + ssh, o svn ssh entra e passa os argumentos "-c svnserve -t". Eu escrevi um shell personalizado da seguinte forma para filtrar os comandos que podem ser executados. Isso funciona, mas não está passando a entrada para o svnserve, então quando eu tento "svn up" eu recebo "svn: Conexão fechada inesperadamente".
#!/bin/bash
if [ "$1" == "-c" ] && [ "$2" == "svnserve" ] && [ "$3" == "-t" ] && [ "$4" == ""] ; then
exec svnserve -t
else
echo "Access denied. User may only run svnserve."
fi
No arquivo authorized_keys, adicione a linha command="svnserve"
e outras no início de sua chave. Desta forma, quando ele se conectar com o ssh, ele executará esse comando e sairá, por exemplo,
command="svnserve" ssh-rsa AAA...LONG AND TEDIOUS KEY...== user@localhost
verifique man sshd
e a documentação do subversion para detalhes