O Mercurial vem com um script útil já configurado exatamente para esse tipo de acesso restrito. O script provavelmente já está no seu servidor e é chamado hg-ssh, mas você também pode encontrá-lo aqui: link
Para usá-lo, basta colocar uma linha como esta no arquivo /home/user/.ssh/authorized_keys
:
command="hg-ssh path/to/repo1 /path/to/repo2 ~/repo3 ~user/repo4" ssh-dss ...
Isso vai garantir que as pessoas com essa chave só possam usar o mercurial (não um shell) e apenas os repositórios listados.