Uma das duas coisas está acontecendo aqui:
- O agente ssh está realmente sendo fechado quando você faz logout
- O ssh-agent ainda está em execução, mas você está perdendo as informações sobre seu PID e pipe
Você pode verificar qual é o caso fazendo um ps -ef e checando o ssh-agent.
Se o agente ssh estiver morto, você precisa de uma maneira de mantê-lo vivo. Aqui estão três maneiras de fazer isso:
- Você pode iniciar o agente ssh a partir de um script de início quando o servidor é inicializado e fazer o eco da saída para um arquivo (com os direitos de acesso apropriados para evitar que seja usado incorretamente). Se você fizer a senha sem senha, também poderá adicionar a chave do script. (Obviamente, a última parte só é aconselhável quando a conta à qual você está se conectando tem direitos muito limitados no servidor remoto). Em seguida, faça com que seu script leia as informações do agente SSH do arquivo criado na inicialização.
- Use a tela quando você fizer login na conta de serviço; em seguida, desconecte-se da sessão de tela depois de iniciar o agente.
- Use nohup ao iniciar o agente.
Se o agente ssh não estiver morto, mas você perdeu as informações do ambiente, certifique-se de que, ao iniciá-lo, ele grave suas variáveis de ambiente em um arquivo específico. Então, ao efetuar o login, tenha sua fonte de shell esse arquivo.