Em vez de usar apenas o git simples, você deve procurar usar o Gitolite . O Gitolite é projetado para fazer esse tipo de autenticação baseada em SSH sem fornecer acesso SSH verdadeiro à máquina. Ele também traz consigo alguns extras, como ACLs strongs e permissões por tag e por ramo.
Você também pode usar Gitosis , que tem um uso muito mais amplo, mas o autor recomenda o uso de Gitolite para funcionalidades adicionais.