Criei chaves conforme as instruções no tutorial do github, as registrei no github e tentei usar o ssh-agent explicitamente - mas o git continua a me pedir minha senha sempre que tento puxar ou empurrar.
logoff do servidor, ssh de volta, execute git pull, solicite a senha novamente.
amigos estão dizendo sobre cyber8200
35
ssh-add -Kpersistirá depois que você fechar e reabri-lo, armazenando-o nas chaves do usuário.
Kirk #
72
O @Kirk ssh-add -Kfornece o seguinte:unknown option -- K usage: ssh-add [options] [file ...] Options: -l List fingerprints of all identities. -L List public key parameters of all identities. -k Load only keys and not certificates. -c Require confirmation to sign using identities -t life Set lifetime (in seconds) when adding identities. -d Delete identity. -D Delete all identities. -x Lock agent. -X Unlock agent. -s pkcs11 Add keys from PKCS#11 provider.
Sandeep C
13
Ainda sou solicitado a fornecer uma senha, independentemente.
Isso vem acontecendo comigo após a reinicialização desde a atualização do OS X El Capitan (10.11) para o macOS Sierra (10.12). ossh-add solução funcionou temporariamente, mas não persistiu em outra reinicialização.
A solução permanente foi editar (ou criar) ~/.ssh/confige ativar a UseKeychainopção.
trabalhou para mim obrigado ... eu tinha feito ... ssh-add -K /Users/***/.ssh/git/id_rsamas ainda não estava funcionando após o reinício do terminal ... obrigado.
Se você tentou ssh-adde ainda é solicitado a digitar sua senha, tente usar ssh-add -K. Isso adiciona sua senha ao seu chaveiro.
Atualização: se você estiver usando o macOS Sierra, provavelmente precisará executar outra etapa, pois as opções acima podem não funcionar mais. Adicione o seguinte ao seu ~/.ssh/config:
Para referência futura, isso também funciona com zsh. Basta adicionar isto a.zshrc
Arda
2
Acredito que isso pressupõe que seu arquivo-chave seja chamado id_rsa. Se você tiver um nome personalizado, use, por exemplo. /usr/bin/ssh-add ~/.ssh/custom_filename
Juha Untinen
2
Você pode explicar o que aconteceu com esse script?
Leer
2
@Lee, ele inicia o ssh-agent se ele ainda não estiver em execução, o que garante que você não solicite a senha do ssh a cada push (mais ou menos).
Roland
Isso apenas executa o ssh-agent e adiciona a chave em cada login. Você ainda precisa digitar a senha sempre que fizer login. Portanto, por exemplo, se você possui scripts para executar ssh e executar comandos GIT, isso infelizmente não é útil.
trainoasis 8/08/19
27
O que funcionou para mim no Windows foi (eu havia clonado o código de um repo 1st):
eval $(ssh-agent)
ssh-add
git pull
altura em que me pediu uma última vez a minha frase secreta
Eu tive um problema semelhante, mas as outras respostas não resolveram o meu problema. Eu pensei em ir em frente e postar isso apenas no caso de alguém ter uma configuração maluca como eu.
Acontece que eu tinha várias chaves e o Git estava usando a primeira errado. Ele solicitaria minha senha e eu a digitaria, e o Git usaria uma chave diferente que funcionaria (que eu não precisava digitar a senha).
Acabei de excluir a chave que estava usando para solicitar uma senha e agora funciona!
Seria bom adicionar informações sobre como resolver o primeiro problema Jeff Welling.
ranu
5
Se as soluções acima não estiverem funcionando para mim, uma coisa a verificar é que você também possui a chave pública (normalmente id_rsa.pub). É incomum não, mas essa foi a causa para mim.
Para criar sua chave pública a partir da sua chave privada:
Respostas:
Depois de iniciar o agente SSH com:
Você precisa adicionar sua chave privada:
Isso solicitará sua senha apenas uma vez e você poderá pressionar, desde que tenha carregado a chave pública no Github.
Para salvar a chave permanentemente no macOS:
Isso persistirá após você fechar e reabri-lo, armazenando-o nas chaves do usuário.
fonte
git pull
, solicite a senha novamente.ssh-add -K
persistirá depois que você fechar e reabri-lo, armazenando-o nas chaves do usuário.ssh-add -K
fornece o seguinte:unknown option -- K usage: ssh-add [options] [file ...] Options: -l List fingerprints of all identities. -L List public key parameters of all identities. -k Load only keys and not certificates. -c Require confirmation to sign using identities -t life Set lifetime (in seconds) when adding identities. -d Delete identity. -D Delete all identities. -x Lock agent. -X Unlock agent. -s pkcs11 Add keys from PKCS#11 provider.
-K
é específico da maçã. Veja help.github.com/articles/…Isso vem acontecendo comigo após a reinicialização desde a atualização do OS X El Capitan (10.11) para o macOS Sierra (10.12). o
ssh-add
solução funcionou temporariamente, mas não persistiu em outra reinicialização.A solução permanente foi editar (ou criar)
~/.ssh/config
e ativar aUseKeychain
opção.Relacionado: o macOS continua perguntando minha senha ssh desde que atualizei para o Sierra
fonte
ssh-add -K /Users/***/.ssh/git/id_rsa
mas ainda não estava funcionando após o reinício do terminal ... obrigado.Se você tentou
ssh-add
e ainda é solicitado a digitar sua senha, tente usarssh-add -K
. Isso adiciona sua senha ao seu chaveiro.Atualização: se você estiver usando o macOS Sierra, provavelmente precisará executar outra etapa, pois as opções acima podem não funcionar mais. Adicione o seguinte ao seu
~/.ssh/config
:fonte
Eu tentaria o seguinte:
~/.bashrc
arquivofonte
zsh
. Basta adicionar isto a.zshrc
id_rsa
. Se você tiver um nome personalizado, use, por exemplo./usr/bin/ssh-add ~/.ssh/custom_filename
O que funcionou para mim no Windows foi (eu havia clonado o código de um repo 1st):
altura em que me pediu uma última vez a minha frase secreta
Créditos: a solução foi retirada de /unix/12195/how-to-avoid-being-asked-passphrase-each-time-i-push-to-bitbucket
fonte
Tente adicionar isso ao seu ~ / .ssh / config :
... supondo que sua chave privada seja nomeada id_rsa
fonte
Eu tive um problema semelhante, mas as outras respostas não resolveram o meu problema. Eu pensei em ir em frente e postar isso apenas no caso de alguém ter uma configuração maluca como eu.
Acontece que eu tinha várias chaves e o Git estava usando a primeira errado. Ele solicitaria minha senha e eu a digitaria, e o Git usaria uma chave diferente que funcionaria (que eu não precisava digitar a senha).
Acabei de excluir a chave que estava usando para solicitar uma senha e agora funciona!
fonte
Parece que você pode estar tendo problemas com o próprio SSH-Agent. Eu tentaria solucionar isso.
1) Você fez o ssh-add para adicionar sua chave ao SSH?
2) Você está fechando a janela do terminal entre os usos, porque se você fechar a janela, precisará digitar a senha novamente quando a reabrir.
fonte
Se as soluções acima não estiverem funcionando para mim, uma coisa a verificar é que você também possui a chave pública (normalmente
id_rsa.pub
). É incomum não, mas essa foi a causa para mim.Para criar sua chave pública a partir da sua chave privada:
fonte
Tento soluções diferentes, mas nada ajuda. Mas essas etapas ( meu ambiente SSH do GitBash sempre pede minha senha, o que posso fazer? ) Das costuras do Bitbucket.com funcionam bem:
A ideia é:
você cria
~/.bashrc
arquivoadicione o seguinte script:
re-execute o Bash
fonte
Outra solução possível que não é mencionada acima é verificar seu controle remoto com o seguinte comando:
Se o controle remoto não iniciar com git, mas iniciar com https, você poderá alterá-lo para git seguindo o exemplo abaixo.
fonte