Estou trabalhando em uma pequena solução de chamada SSH para uma de minhas caixas, e estou com um pequeno problema que mal sei o que procurar até descobrir o que está acontecendo.
Basicamente, o cliente se conecta por SSH e verifica a cada 60 segundos se a conexão ainda está ativa, usando netstat
. No entanto, se o servidor for reinicializado e eu verificar o netstat, a conexão ainda será mostrada lá. Então, eu estou basicamente querendo ter certeza de que o cliente pode manter uma conexão SSH ativa (mesmo se não estiver sendo usada) por um longo tempo, mas se a conexão realmente terminar do servidor, eu quero que o cliente seja capaz de soltar a conexão.
Quais opções do cliente, se não do servidor, devo estar olhando para garantir que as conexões SSH antigas / obsoletas sejam realmente descartadas, garantindo que eu possa ter uma conexão SSH persistente para acesso futuro?
Eu pensei que poderia estar configurando o ClientAliveInterval e o ClientAliveCountMax, mas não tenho certeza se preciso definir isso no cliente, ou no servidor, e como o cliente saberia que está desconectado se for definido no servidor.