Existem várias maneiras de neutralizar a perda de conectividade para sessões ssh.
Primeiro, você pode querer definir as opções ServerAliveInterval, ClientAliveInterval e ClientAliveCountMax. ServerAliveInterval é o número de segundos que o cliente aguardará antes de enviar um pacote nulo para o servidor (para manter a conexão ativa), um valor de 60 é típico. ClientAliveInterval é o número de segundos que o servidor aguardará antes de enviar um pacote nulo ao cliente. Por fim, ClientAliveCountMax é o número de ClientAliveInterval que o cliente pode permanecer em silnet antes que a conexão seja interrompida; o padrão é 3, significando três vezes o lapso de tempo ClientAliveInterval.
Como alternativa, você pode usar Mosh , o shell para celular, que ...
allows roaming, supports intermittent connectivity, and provides intelligent local echo and line editing of user keystrokes. Mosh is a replacement for SSH. It's more robust and responsive, especially over Wi-Fi, cellular, and long-distance links.Mosh is free software, available for GNU/Linux, FreeBSD, Solaris, Mac OS X, and Android.
E, em seguida, você pode usar autossh em vez de ssh:
autossh - Automatically restart SSH sessions and tunnels
Qual caminho você vai depender principalmente dos gostos. Quanto a mim, eu uso autossh para túneis que eu gostaria de ter permanentemente para cima, especialmente túneis reversos; Eu uso mosh para conexões verdadeiramente desastrosas, como quando eu ssh'ing em meu laboratório de um avião ou um carro. Para todos os outros casos, uma escolha criteriosa dos parâmetros acima para o openssh será: por exemplo, meu arquivo .ssh / config contém as seguintes linhas:
Host *
ServerAliveInterval 60
IdentitiesOnly yes
e da mesma forma para os servidores, no arquivo / etc / sshd_config .
E, a propósito, para monitorar sua conexão por longos períodos de tempo, você pode usar mtr (= My TraceRoute), uma combinação inteligente de traceroute e ping que fará um traceroute a cada segundo (padrão = 1 segundo) para um determinado site, e atualizará sem problemas as estatísticas de pings bem-sucedidos, dando a você a oportunidade de estabelecer pelo menos a fração média de tempo de atividade, mas não sua distribuição.