Como git puxar sem pedir senha?

1

Eu tenho um problema para fazer um pull automático para um repositório git. Explico minha situação: tenho 2 sever em linux (Debian), um para repos (dev01) e outro para make documentation com doxygen (dev02). Eu faço um script no bash para executar o doxygen todos os dias e funciona bem.

O próximo passo é fazer com que algum git puxe o dev02 todos os dias para puxar os repos no dev01. Eu tento fazer um script mas quando eu faço um git puxar no dev02, ele sempre me pede senha dev01 assim:

root@dev02:/repos# git pull git@dev01's password:

Eu pesquiso por uma solução na net e encontrei algo (espera) para fazer um script:

#!/usr/bin/env expect cd /repos/repos_name set password "git_password" spawn /usr/bin/git pull expect "git@dev01's password:" send "$password\r"

Ele roda mas não faz nada ... Eu encontrei algumas soluções na web, mas tudo que eu tento não funciona. Talvez com o Linux eu possa fazer outra coisa para resolvê-lo, mas eu apenas começo neste SO.

Como posso resolver este problema?

Obrigado

    
por Algorys 25.11.2014 / 12:25

1 resposta

1

Do git@dev01 , suponho que você esteja controlando o SSH. Portanto, você pode usar os mesmos métodos do SSH sem senha geral - especificamente, autenticação de chave pública . Como configurá-lo foi descrito em grande detalhe em muitos sites e tutoriais, mas aqui está o breve resumo:

  1. No cliente, crie um par de chaves usando ssh-agent ou PuTTYgen.

    (Nesse caso, root@dev02 é o cliente e git@dev01 é o servidor.)

  2. Copie a chave pública para o servidor, no arquivo ~/.ssh/authorized_keys .

    (Copie-o do arquivo ~/.ssh/id_rsa.pub ou o texto "Chave pública OpenSSH" do PuTTYgen.)

  3. Execute ssh -v user@server e verifique se a chave está sendo usada:

    debug1: Authentications that can continue: publickey,password,keyboard-interactive
    debug1: Next authentication method: publickey
    debug1: Offering RSA public key: /home/grawity/.ssh/id_global
    debug1: Server accepts key: pkalg ssh-rsa blen 535
    debug1: Authentication succeeded (publickey).
    
por 25.11.2014 / 12:37