Salve identidades adicionadas por ssh-add para que elas persistam

8

Recentemente, configurei openssh para poder usá-lo com git .

No processo de configuração (conforme este artigo ) Eu corri os comandos:

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/<name of key>

Algum tempo depois, depois que fiz o logout e tentei usar git push , recebi um erro. A solução para esse erro estava executando os mesmos comandos novamente.

Por favor, diga-me como posso

  • Mantenha o ssh-agent em execução para não precisar iniciar um novo
  • Lembre-se das chaves que adicionei, por isso não preciso adicioná-las toda vez

Só para esclarecer, eu uso zsh para que certos recursos bash não funcionem no meu .zshrc.

    
por timotree 04.12.2016 / 18:18

2 respostas

11

O que é ssh-agent e como funciona?

O ssh-agent mantém suas chaves descriptografadas com segurança na memória e em sua sessão. Não há uma maneira razoável e segura de preservar as chaves descriptografadas entre reinicializações / re-logins.

OK, como posso automatizá-lo?

Automatizar ssh-agent inicialização

Adicionar

[ -z "$SSH_AUTH_SOCK" ] && eval "$(ssh-agent -s)"

ao seu ~/.bashrc ou outro script de inicialização ( ~/.zshrc ).

Automatizar a adição das chaves

As chaves podem ser adicionadas automaticamente no primeiro uso, quando você adiciona

AddKeysToAgent yes

para o seu ~/.ssh/config .

Para mais informações sobre ~/.ssh/config consulte man ssh_config .

    
por 04.12.2016 / 20:07
3

Adicione isso a ~/.bashrc

if [ -z "$SSH_AUTH_SOCK" ] ; then
 eval 'ssh-agent -s'
 ssh-add
fi
    
por 04.12.2016 / 20:12