Resposta curta, você nunca esperará tempo suficiente com uma latência de 30 segundos por pacote.
Eu preciso criar uma conexão ssh entre duas máquinas Linux executando o Centos v5, mas a latência pode chegar a 25 segundos. Eu acho que se eu testar algo se aproximando dessa configuração artificialmente simulando 7 segundos ou mais de latência de ida e volta usando:
tc qdisc add dev eth0 root netem delay 7s
Quando eu tento:
ssh -n -o ConnectTimeout=0 WilliamKF@centos5Machine whoami
Falha após cerca de 1 minuto e 23 segundos com:
Connection closed by 10.35.50.114
Observe que ConnectTimeout = 0 significa nunca tempo limite. Além disso, a simulação de uma latência de ida e volta de 6 segundos resulta em um ssh bem-sucedido após cerca de 1 min e 32 s.
Existe algo que eu possa fazer para que o ssh funcione em face da latência extremamente alta no Linux? Por que o ssh falha nesse limite? Quando eu executo o tcpdump, não vejo nada obviamente errado, existem cerca de 51 pacotes, quais pacotes do tcpdump são úteis aqui? O sucesso levou apenas cerca de 41 pacotes.