'ssh […] dormir 3' (com sshpass) não feche nunca

0

Eu abro um túnel SSH programaticamente, com:

sshpass -p "my_password" ssh -fN -o StrictHostKeyChecking=no -o ExitOnForwardFailure=yes remote_user@remote_server.tld -L 13306:127.0.0.1:3306 sleep 3

e funciona como esperado, mas não fecha após 3 segundos de inatividade.

Eu pego o SSH PID e mato explicitamente quando a conexão é finalizada; mas eu prefiro a versão sleep , se puder fechar o túnel automaticamente.

O uso com sshpass mantém o túnel aberto ou estou fazendo algo errado?

    
por José M. Carnero 27.09.2016 / 11:08

1 resposta

0

Você está usando

-f

Requests ssh to go to background just before command execution. This is useful if ssh is going to ask for passwords or passphrases, but the user wants it in the background. This implies -n. The recommended way to start X11 programs at a remote site is with something like ssh -f host xterm.

e

-N

Do not execute a remote command. This is useful for just forwarding ports.

Que entra no fundo antes de executar um comando (que é suprimido). Por isso, fica em segundo plano. O sleep nunca é executado e aguarda ser morto.

    
por 27.09.2016 / 13:24

Tags