diferença entre https git clone e ssh git clone

1

Oi eu estou usando git por um tempo agora no entanto eu sou novo no git enterprise. Aqui Foi o que fiz com o meu test-repo Criei um par de chaves ssh e adicionei a chave pública ao meu repositório de teste como chave de implantação. Agora eu posso clonar meu test-repo de ssh e https no entanto, quando eu adiciono alguém como collabrator eles são capazes de clonar repo de https mas não de ssh

ssh-keygen -b 4096 -t rsa -f example_rsa -P "" -C ""

$ ls
example_rsa     example_rsa.pub

$ git clone [email protected]:star/test-repo.git
Cloning into 'test-repo'...
Warning: Permanently added the ECDSA host key for IP address '10.0.1.100' to the list of known hosts.
warning: You appear to have cloned an empty repository.

O mesmo git repo não pode ser acessado pelo usuário, mesmo depois de conceder acesso via ssh, mas o usuário pode clonar o repositório usando https .

git clone [email protected]:star/test-repo.git
Cloning into 'test-repo'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

git clone https://git.example-private.com/star/test-repo.git
Cloning into 'test-repo'...
warning: You appear to have cloned an empty repository.
    
por Shailesh Sutar 16.02.2017 / 12:17

1 resposta

2

O Git usa vários protocolos para comunicação entre cliente e servidor:

  • link
  • link
  • ssh
  • git

Quando você decidir usar ssh para o seu servidor, você precisa fornecer acesso ssh relevante para os colaboradores que irão trabalhar com seus repositórios. Existem várias soluções para facilitar o gerenciamento - gitlab (também possui GUI), gitolite e muitos outros. O Git ainda vem com um git-shell - se você configurá-lo para um usuário recém-criado, ele só poderá trabalhar com o git e não com o ssh no servidor. Usar ssh é mais seguro e é a melhor solução (minha opinião) para ambientes corporativos.

Quando você usa https para o protocolo de transporte, obtém as vantagens (ou limitações) de https. É mais comumente usado quando você tem uma interface web para o seu servidor git (por exemplo, cgit) e permite aos usuários clonar repositórios (mas não para empurrar).

Por favor, dê uma olhada em this - um detalhado explicação sobre os protocolos usados no Git.

    
por 16.02.2017 / 12:30