Eu encontrei a resposta aqui . Basicamente, o arquivo /home/git/.ssh/authorized_keys
(gerado por gitosis-init
) mapeia cada chave registrada para o comando gitosis-serve
!
Eu tenho uma instalação funcional do Gitosis, mas estou querendo saber como o comando gitosis-serve
é invocado! De tudo o que eu consigo entender, quando você se conecta por SSH como o usuário git
(usando git@host
), o script serve.py
é chamado pelo script gerado por setuptools em /usr/bin/gitosis-serve
, que então inicia git-shell
. / p>
No entanto, como o login do usuário de git
está conectado a /usr/bin/gitosis-serve
?
Obrigado
Eu encontrei a resposta aqui . Basicamente, o arquivo /home/git/.ssh/authorized_keys
(gerado por gitosis-init
) mapeia cada chave registrada para o comando gitosis-serve
!
Quando você adiciona uma chave SSH ao repositório gitosis-admin.git
, ela é automaticamente retirada durante o commit e o arquivo ~/.ssh/authorized_keys
para o usuário da gitosis é atualizado para chamar gitosis-serve
para a chave SSH especificada. Quais repositórios o usuário pode realmente gerenciar depende, é claro, de quais repositórios no gitosis.conf
eles receberam acesso.