script bash com conexão ssh permanente

3

Eu uso um script bash que é executado

/usr/bin/ssh -f -N -T -L8888:127.0.0.1:3306 [email protected]

No entanto, quando executo o script bash, ele aguarda .. Eu vejo a conexão chegando, mas o script não sai .. é como se estivesse aguardando o processo SSH terminar, porque quando eu o mato manualmente, o bash script termina também.

Alguma idéia de como resolver isso?

ATUALIZAÇÃO: Eu tenho croned este script .. e o processo cron é o que se torna um zumbi .. os scripts reais é executado muito bem, desculpe por isso, com ps -auxf eu recebo:

root       597  0.0  0.7   2372   912 ?        Ss   Jul12   0:00 cron
root      2595  0.0  0.8   2552  1064 ?        S    02:09   0:00  \_ CRON
1001      2597  0.0  0.0      0     0 ?        Zs   02:09   0:00      \_ [sh] <defunct>
1001      2603  0.0  0.0      0     0 ?        Z    02:09   0:00      \_ [cron] <defunct>

e quando eu mato o ssh, os defuntos desaparecem ... por que eles se tornam extintos?

    
por grandnasty 13.07.2010 / 01:49

3 respostas

8

Parece que você está tentando reimplementar bits de autossh (apt-get install autossh).

Crie um par de chaves RSA sem uma frase secreta, instale a chave pública em [email protected] e tente:

autossh -f -N -L8888:127.0.0.1:3306 [email protected]
    
por 30.06.2011 / 06:23
0

Remova o $ .

workstation:~$ /usr/bin/ssh -f -N -T -L8888:127.0.0.1:3306 server.host.com
DSA host key for IP address '205.205.219.5' not in list of known hosts.
workstation:~$ ps x | grep '\-f'
16170 ?        S      0:00 /usr/bin/ssh -f -N -T -L8888:127.0.0.1:3306 server.host.com

Vai direto para o segundo plano enquanto você detalha para mim. No entanto, eu tenho uma configuração keypair no meu servidor de teste.

Você já tem algo escutando no 8888 em seu servidor local? Você já tem uma instância em segundo plano?

    
por 13.07.2010 / 01:56
0

Desanexe o processo ssh do seu terminal:

  1. Envie para o plano de fundo

    /usr/bin/ssh -f -N -T -L8888:127.0.0.1:3306 serveradmin@$34.324.234.23 &

  2. Nohup

    nohup /usr/bin/ssh -f -N -T -L8888:127.0.0.1:3306 serveradmin@$34.324.234.23

por 13.07.2010 / 01:56