ssh-agent
é um daemon que armazena em cache a chave ssh descriptografada na memória quando você usa ssh-add
para não precisar digitar a senha para descriptografá-la sempre que ssh
tentar usá-la para autenticação. Estar em cache na memória significa que da próxima vez em que ssh-agent
for iniciado, a chave deve ser descriptografada e adicionada ao agente novamente, e é por isso que você precisa ssh-add
novamente.
A parte /bin/bash
não é realmente necessária. Normalmente, quando você inicia ssh-agent
, ele imprime algumas variáveis de ambiente para stdout que devem ser eval
ed, de forma que ssh
saiba onde está o ssh-agent
socket. Se, em vez disso, você der o comando ssh-agent
a quando for iniciado, ele executará esse comando com as variáveis de ambiente definidas.
Isso significa que a instância do bash que você está usando depois de executar o comando é uma sub-inicial do que você estava usando antes. O problema de adicionar isso ao seu .bashrc
é que o novo shell ssh-agent
iniciará executando ssh-agent
novamente, causando um loop recursivo, que você não deseja. Em vez disso, convém começar com ssh-agent
no seu .bash_profile
e avaliar a saída de iniciar um subshell e, em seguida, usar ssh-add
manualmente, uma vez a cada vez que você efetuar login.
Outra opção seria usar a emulação de agente SSH do GNOME Keyring em vez de usar ssh-agent
. Ao contrário de ssh-agent
que não salva sua senha, o Chaveiro do GNOME armazena a frase secreta na chave em um chaveiro para que você não precise adicionar chaves manualmente.