Quais são os prós e contras do SSH e HTTP para um servidor git?

20

Eu quero configurar um servidor git. Eu encontrei vários procedimentos, bem detalhados.

Alguns descrevem a instalação de um servidor git acessível através do Ssh, enquanto outros, acessíveis através do HTTP. (Outros até aconselham ferramentas como gitolite).

Existem prós ou contras escolhendo sobre SSH ou HTTP? Parece que, por HTTP, a transferência de arquivos é significativamente mais lenta, mas eu me pergunto se há outras coisas a serem lembradas.

Qual é a maneira mais comum de configurar um servidor git, se houver?

    
por Stephane Rolland 20.09.2012 / 00:10

2 respostas

22

Enquanto você está perguntando qual é a maneira mais comum, eu acho que é melhor olhar para a sua situação e lembrar que um protocolo não exclui outro - adicionar mais protocolo de acesso mais tarde se você precisa deles.

  • A maioria eficiente e rápida é usar o daemon do Git nativo. No entanto, pouco Recursos oferecidos: sem criptografia, sem autenticação. Ideal para público espelhos só de leitura dos seus repositórios. Se você precisar de desempenho, considere a possibilidade de instalar uma versão recente em vez da versão fornecida com o sistema operacional.

  • A maneira mais compatível é HTTP. Menos eficiente que o Git nativo, mas também não faz muita diferença. O mais importante pro do HTTP é a penetração do firewall e o suporte ao proxy. Aparece como outro tráfego HTTP regular para a maioria dos gateways / firewalls.

  • Mais seguro é HTTPS, mas inevitavelmente menos eficiente também. Requer bastante alguma configuração. Você também precisará de um certificado TLS confiável.

  • Segurança semelhante, mas uma maneira mais comum é usar o SSH. É o default se nenhum protocolo for especificado na linha de comando. Alimentado por SSH, ele fornece criptografia strong e autenticação de senha e chave. Embora não convencional, é possível permitir o acesso anônimo dessa maneira também.

Meu conselho dependeria do caso de uso de seus repositórios:

  • repositórios privados & grupo pequeno de usuários: SSH

  • repositórios públicos, qualquer quantidade de clones, mas um pequeno grupo de usuários privilegiados por push: HTTP e Git (somente busca) + SSH (+ push-access)

  • qualquer uma das opções acima, mas com grande quantidade de usuários privilegiados por push: você provavelmente não entende a filosofia do Git.

Algumas redes públicas ou corporativas podem bloquear o tráfego do Git e do SSH. Se você realmente precisa acessar seus repositórios de em qualquer lugar , considere usar HTTPS e SSH.

    
por 20.09.2012 / 00:49
1

Você pode usar HTTPS para acesso somente leitura, se seus repositórios forem públicos, pois é fácil de usar no lado do cliente. Se não, você só deve usar o SSH. Em qualquer caso, você deve usar o SSH para acesso de gravação, pois tem melhor gerenciamento de autenticação.

    
por 20.09.2012 / 00:16

Tags