Tornando o agente ssh disponível na tela após o logout

1

Qual é a melhor maneira de ativar um comando em execução na tela em uma primeira máquina para continuar a executar comandos em uma segunda máquina depois que eu não estiver mais conectado à primeira?

Aqui está o fundo. Eu tenho um longo comando em execução que precisa coletar regularmente informações de outras máquinas. Isso é feito enviando comandos ssh e lendo a saída. Isso funciona atualmente através de agentes ssh porque eu fiz o login com ForwardAgent .

Atualmente eu posso ssh para a primeira máquina, executar o comando e funciona. Da mesma forma, posso iniciar uma tela, executar o comando, desconectar da tela e continuar em execução. Mas, se minha conexão ssh com a primeira máquina quebrar, o agente ssh irá parar de funcionar e o comando em execução na tela será interrompido.

Gostaria que o comando funcionasse corretamente, mesmo que eu não esteja mais conectado a nenhuma das máquinas.

    
por btilly 09.12.2016 / 18:17

2 respostas

3

AFAIK, isso não será possível. As chaves privadas usadas pelo agente nunca são transmitidas para esse servidor intermediário. Se sua conexão com o servidor intermediário for perdida, simplesmente não há nada a ser usado para autenticação. O protocolo do agente é projetado para que suas chaves privadas nunca sejam transferidas do sistema que executa o agente.

Se você está trabalhando com frequência nesse sistema Intermediário, sua melhor opção pode ser gerar um par de chaves exclusivo para esse sistema e carregá-lo em um agente em execução nesse sistema quando você fizer login e iniciar seu processo. Obviamente, você também precisaria publicar a chave pública associada a todos os sistemas que você precisa acessar.

    
por 09.12.2016 / 21:05
-1

Já tentou ver "nohup"?

link

Parece que pode ser útil para você neste caso.

Você pode ver informações adicionais usando o $ man nohup

    
por 09.12.2016 / 18:44