Ative os keepalives de SSH globalmente em / etc / ssh_config ou no seu diretório home ~ / .ssh / config
KeepAlive yes
ServerAliveInterval 60
Antes de encontrar essa opção openssh, eu executaria o "top -d 60" para manter a conexão ativa.
Cenário1: I SSH do meu empregador (cliente OSX Yosemite SSH) para o meu servidor doméstico (estável Debian) e (re) conectar-me a uma sessão tmux. Se eu deixar o terminal inativo por um tempo (~ 20 minutos), parece que a conexão de rede foi interrompida por muito tempo com o famoso erro SSH: "pipe quebrado". Se eu fizer o login novamente no tmux, ele se comportará como esperado: a sessão ainda está ativa.
Cenário2: I SSH do meu empregador para minha caixa inicial. Agora eu faço as coisas que costumo fazer, mas desta vez não em uma sessão do tmux. Agora posso deixar o terminal inativo por horas e horas, ele não morre.
Cenário 3: I SSH do meu próprio segmento de rede doméstica para o mesmo servidor e conecto a uma sessão do tmux. Agora obtenho o comportamento esperado. O terminal não perde a conexão após um período de inatividade, com o nosso sem usar o tmux.
Eu tentei fazer a minha pergunta no Google, mas o problema é que obtenho respostas para a pergunta errada: P: Eu uso o SSH para um comando de longa duração, como posso me reconectar se eu tiver um cano quebrado? A: Você já ouviu falar do tmux? Sim, eu tenho ... . Mas eu não ouvi falar de canos quebrados sendo causados pelo tmux.
Eu também fiz a pergunta no irc, mas não recebi resposta.
Ative os keepalives de SSH globalmente em / etc / ssh_config ou no seu diretório home ~ / .ssh / config
KeepAlive yes
ServerAliveInterval 60
Antes de encontrar essa opção openssh, eu executaria o "top -d 60" para manter a conexão ativa.
Suponho que isso tenha a ver com 'manter a sessão viva', também conhecida como 'pings'. Há opções de configuração para esse tipo de coisa. Tmux não se importa em ser desconectado e -idealmente - você não deve deixar conexões não utilizadas abertas; isso é uma má etiqueta de rede; -)
Tags ssh tmux linux-networking