O túnel de fundo ssh caiu instantaneamente

1

Estou tentando estabelecer o seguinte túnel ssh encadeado:

ssh -A -t gatewayuser@gatewayserver 'ssh -N -A -t -R 55520:127.0.0.1:55520 user@dbserver' &

Isso faz parte de um script de shell, quero que o túnel seja estabelecido em segundo plano, para que o script de shell possa continuar o que está fazendo. O script de shell também usa:

trap 'kill $(jobs -p)' EXIT

Para matar todos os procs filhos ao sair.

Quando o ssh acima é executado, um processo é estabelecido, mas parece que o túnel reverso encadeado é imediatamente descartado (ou seja, não há nada escutando 55520 no dbserver). Como posso fazer isso dentro dos requisitos acima?

    
por James 14.04.2014 / 13:12

1 resposta

0

ssh parece detectar a entrada do usuário ausente devido a ser iniciado em segundo plano e, em seguida, suspende a si mesmo, o -t não ajuda.

Você pode lê-lo de stdin, por exemplo, via ssh [...] < /dev/null & ou possivelmente /dev/zero .

    
por 14.04.2014 / 14:52