Configuração do cliente
Tente criar o arquivo:
~/.ssh/config
Adicione o conteúdo:
Host *
ServerAliveInterval 30
ServerAliveCountMax 5
Agora ssh para o seu servidor e veja se o seu problema foi corrigido. A opção ClientAliveInterval é útil apenas ao configurar o servidor ssh (também conhecido como sshd), ele não altera nada no lado do cliente ssh, portanto não o use no arquivo de configuração acima.
Isto enviará um sinal de ola-se-você-lá para o servidor se nenhum pacote tiver sido recebido nos 30 segundos anteriores (conforme especificado acima). No entanto, se o número de sinais hello-are-there-there consecutivos chegar a ServerAliveCountMax, o ssh será desconectado do servidor. Este valor é padronizado para 3 (portanto, 3 * 30 = 90 segundos sem atividade do servidor), aumente se for adequado às suas necessidades. Existem muito mais opções de configuração para o arquivo .ssh / config e você pode ler:
Usando um arquivo de configuração SSH
Para mais informações sobre outras opções. Você pode não querer aplicar isso em todos os servidores aos quais você se conecta, conforme o exemplo. Ou restrinja-o apenas a um servidor em particular, substituindo a linha Host *
por Host <IP>
(substitua por um endereço IP, consulte a página man ssh_config).
Configuração do servidor
Da mesma forma, você pode dizer ao servidor para ser gentil com seus clientes. O arquivo de configuração é /etc/ssh/sshd_config
.
ClientAliveInterval 20
ClientAliveCountMax 5
Você pode desativá-lo configurando ClientAliveInterval
para 0
ou ajustar ClientAliveInterval
e ClientAliveCountMax
para definir uma inatividade máxima do cliente ssh sem responder aos probes. Uma vantagem dessas configurações sobre TCPKeepAlive é que os sinais são enviados através dos canais criptografados, portanto, é menos provável que seja falsificável.