Quando/por que o SSH fecha uma conexão?

Quando/por que o SSH fecha uma conexão?

Eu tenho um servidor CentOS que acesso via SSH do meu laptop Windows, manualmente com Putty ou programaticamente usando o módulo Python Fabric.

Às vezes, após um período de inatividade, a conexão é encerrada.

Minha principal questão é quando/por quê? Onde estão as configurações que determinam quando uma conexão SSH deve ser fechada? Quais são os valores padrão se nenhum for definido? Eu só gostaria de entender a lógica que envolve o fechamento da minha conexão... às vezes parece permitir que uma conexão permaneça aberta por mais de 12 horas de inatividade, enquanto outras vezes parece fechar a conexão após apenas cerca de 30 minutos de inatividade.

Uma questão secundária é se há alguma maneira de fazer com que o Putty permaneça aberto. No momento, Putty apenas me diz que a conexão foi fechada e me faz fechar a janela. Existe alguma maneira de fazer com que o Putty simplesmente reinicie a conexão e não exija que eu feche as janelas e faça login novamente manualmente?

Responder1

Você provavelmente configurou ClientAliveCountMax 0alguma ClientAliveIntervalopção sshd_config(ou foi usado algum valor padrão).

Definir esses valores para algo diferente de zero deve permitir que o servidor envie mensagens de manutenção de atividade que verificarão se o cliente ainda está respondendo.

Deve haver uma opção semelhante no cliente (em openssh chamado) ServerAliveCountMaxe ServerAliveInterval).

Este comportamento também pode ser resultado do uso da opção cliente TCPKeepAlivee a mesma no servidor, mas está habilitada por padrão.

informação relacionada