autossh falhou ao recriar um túnel devido a um tempo diferente

5

Eu tenho problemas com o autossh no caso de interrupções de rede curtas (até 60s). Isso acontece diariamente devido a uma desconexão da rede pelo meu provedor pela manhã. Mesmo com o uso do autossh, o túnel do ssh permanece interrompido até ser reiniciado manualmente. Se eu testá-lo com uma interrupção mais longa, restabelecer o túnel novamente.

Ao iniciar o autossh com "AUTOSSH_DEBUG = 1", o seguinte é mostrado durante uma breve desconexão:

Warning: remote port forwarding failed for listen port

Ao olhar ao mesmo tempo para o servidor ssh, vejo com "netstat -pln" que a porta antiga é mantida lá por cerca de 60s até que finalmente desapareça. Se o cliente tentar se reconectar durante esse tempo, ele falhará com a mensagem acima, ele não recriará o túnel e também não tentará novamente. Quando se reconectar após a porta desaparecer no servidor, o ssh conseguirá recriar o túnel.

Existe uma maneira de atrasar a reconexão do cliente do autossh? Existe uma maneira de tentar novamente a reconexão se ela falhar (acho que atualmente não há nenhuma tentativa, porque ela é classificada como somente Aviso)? Existe uma maneira de reduzir o tempo até que a porta restante seja removida pelo sshd?

Meu ambiente é Debian Squeeze no lado do cliente e Wheezy no servidor.

EDIT : esqueci de mencionar que isso acontece se eu usar o autossh sem a porta de gerenciamento "-M 0" ou com uma porta de eco "-M 2000: 7" ou com um gerenciamento totalmente pareado loop "-M 2000".

    
por Achim 04.06.2013 / 02:50

1 resposta

6

Você pode definir a opção ssh ExitOnForwardFailure como sim para fazer com que o ssh termine a conexão se não puder configurar todos os encaminhamentos de porta dinâmicos, de túnel, locais e remotos solicitados.

O Autossh irá recriar a nova conexão ssh até o sucesso.

    
por 24.12.2013 / 19:28