Algo ao longo da cadeia está expirando a conexão ociosa, já que o SSH normalmente não envia nada quando ocioso. Mas você pode enviar mensagens periodicamente quando ocioso. No OpenSSH versão 3.8 e superior:
$ ssh -oServerAliveInterval=60 myremotebox
Se você estiver indo para ssh
manualmente para esse host com frequência, provavelmente desejará colocá-lo em seu arquivo ~/.ssh/config
:
Host myremotebox
ServerAliveInterval=60
Isto diz para enviar um pacote nulo a cada 60 segundos depois que nada mais foi enviado. Eu encontrei através de uma ampla variedade de infra-estrutura que isso é suficiente para manter a conexão viva.
Nas versões pré-3.8 do OpenSSH, você não tem essa opção, mas há um fallback fraco. Você pode definir a opção KeepAlive
, que usa TCP Keepalives . A maneira como isso funciona depende do sistema operacional e, muitas vezes, a alteração do comportamento afeta todos os aplicativos. Pior ainda, as pilhas de rede costumam usar como padrão o envio de keepalives TCP a cada 2 horas, então você quase tem para alterar o padrão se for usá-lo dessa maneira, pois a conexão de SSH é temporizada provavelmente tem um limite de inatividade muito inferior a 2 horas.
Por favor, note que se você está lendo a versão 3.8+, isso é a mesma coisa que a opção TCPKeepAlive
. Quando eles adicionaram a opção "server alive" em 3.8, eles renomearam KeepAlive
para TCPKeepAlive
para distinguir os dois.