Se eu executar git pull
ou git push
, sempre será solicitada uma senha.
Gerei um par de chaves pública/privada no rackspeed.
Abri meu projeto no Bitbucket: Configurações -> Geral -> Chaves de acesso e adicionei minha chave pública.
Então configurei o git como visto aqui , para que ele lembre a senha por 600 segundos.
git config --global credential.helper 'cache --timeout=600'
Certifiquei-me de que meu git url não é https:
origin [email protected]:company/example.git (fetch)
origin [email protected]:company/example.git (push)
Então eu executei git pull
. Pediu a senha pela primeira vez. Então eu executei git pull
novamente, mas ainda pede a senha.
Como você está usando um controle remoto SSH, sua senha será solicitada pelo OpenSSH, não pelo Git. O Git não lida com senhas para OpenSSH (porque não é trivial de se fazer), portanto, configurar os auxiliares de credenciais do Git não terá efeito.
Se você quiser usar os auxiliares de credenciais do Git, precisará usar um controle remoto HTTPS.
Como alternativa, você pode usar o
ssh-agent
programa para salvar a senha. Você pode executareval $(ssh-agent -s)
em seu shell e, em seguida, executarssh-add
para adicionar a chave. Você será solicitado a fornecer sua senha uma vez, mas não novamente nesse terminal.É possível que seu ambiente já tenha configurado um agente SSH para você. Você pode executar
env | grep SSH_AUTH_SOCK
e, se houver alguma saída, basta executarssh-add
e não precisa executar o primeiro comando.Faça o Git armazenar o nome de usuário e a senha e nunca os solicitará.
Salve o nome de usuário e a senha de uma sessão (armazene em cache):
Você também pode definir um tempo limite para a configuração acima:
Tente usar isso no terminal para salvar suas credenciais:
Git não pedirá senha novamente em
git push
ougit pull
.Leia também:
git help credentials