ssh não está desconectado quando o tempo limite do tcpkeepalive está ativado

1

Eu vejo que existem 3 parâmetros de importância no arquivo ssh_config:

TCPKeepalive
ServerAliveInterval
ServerAliveCountMax

1) Quando eu tento ssh com tcpkeepalive = yes, a conecção ssh não é desconectada em 140 segundos, mesmo que os parâmetros tcp_keepalive estejam definidos como:

tcp_keepalive_intvl 20 
tcp_keepalive_probes 5
tcp_keepalive_time   40

O que eu preciso verificar para ver por que a desconexão não está acontecendo dentro de 140 segundos?

2) Podemos usar todos os 3 parâmetros acima ao mesmo tempo? Ou devemos usar os parâmetros de tempo limite do TCP ou do servidor ssh? Se eu usar apenas os parâmetros serveralive *, a desconexão será bem rápida. Mas eu estou vendo por que o tempo limite do tcpkeepalive não está acontecendo.

Você pode por favor ajudar?

    
por Vin 09.05.2013 / 21:25

1 resposta

1

TCPKeepalive refere-se à quantidade de tempo esperada antes que um cliente que parece estar morto seja desconectado. Se você ainda estiver logado em SSH, você não está morto. Em termos de TCP, meios mortos não respondem à sonda. Isso não tem nada a ver se você está no computador ou não, ou há quanto tempo a sessão SSH está aberta, desde que seu computador esteja ligado, conectado à Internet e ainda na sessão, ele será mantido vivo . TCPKeepalive é mais para pessoas que são desconectadas com freqüência, se eles configurarem seu TCPKalive em um tempo razoavelmente longo, se eles forem desconectados, eles terão, no seu caso, 140 segundos para reconectar antes que a sessão seja descartada como morta.

Acho que minha pergunta seria: se você não quer que a conexão permaneça ativa por mais tempo, por que você está usando o TCPKeepalive? Solicitado puramente para que possamos ajudar com qualquer que seja o problema da causa, isso não deve soar tão sarcástico quanto isso.

    
por 09.05.2013 / 22:25

Tags