Fora da caixa, o padrão git-daemon
não permite que você push
nos repositórios. A página man diz:
This is ideally suited for read-only updates, i.e., pulling from git repositories.
Se você realmente quiser habilitar o anônimo push
(e, na verdade, você não usa apenas ssh
), é necessário ativar o receive-pack
service, que é desativado por padrão (porque é uma má ideia ). Novamente, na página do manual (seção SERVIÇOS ):
receive-pack
This serves git send-pack clients, allowing anonymous push. It is disabled by default, as there is no authentication in protocol (in other words, anybody can push anything into the repository, including removal of refs).
O negrito é meu. Você pode habilitar este serviço globalmente passando a opção de linha de comando --enable=receive-pack
, ou por repositório, configurando daemon.receivepack
to true
na configuração git do seu repositório.