Para que quede claro:estoy buscando una solución que comience una vez después de iniciar sesión, y luego quiero usar esa terminal, irme, volver dos horas después y continuar trabajando, sin escribir nada antes de irme.
El problema es que hay algo (normalmente un cortafuegos o un equilibrador de carga) que está eliminando las sesiones inactivas. Si configura las sesiones keepalives, las keepalives evitarán que los dispositivos de red consideren la sesión como inactiva.
Corrección de Linux/Unix/Cygwin OpenSSH :
La solución más simple es habilitar los keepalives del cliente ssh; este ejemplo enviará un ssh keepalive cada 60 segundos:
ssh -o "ServerAliveInterval 60" <SERVER_ADDRESS>
Si desea habilitar esto en todas sus sesiones, póngalo en su /etc/ssh/ssh_config o ~/.ssh/config :
ServerAliveInterval 60
Para obtener más información, consulte el ssh_config página de manual
Corrección de masilla :
Guarde esto en su "Configuración predeterminada" de PuTTY...
- Haga clic en Conexión
- Escriba 60 en "Segundos entre keepalives"

Además de la respuesta de Mike Pennigton, me gustaría informarle sobre ServerAliveCountMax también.
- El
ServerAliveIntervalenviará un keepalive cada x segundos (el valor predeterminado es 0 , que deshabilita esta función si no se establece en otra cosa). - Esto se hará
ServerAliveCountMaxveces si no se recibe respuesta. El valor predeterminado deServerAliveCountMaxes 3 (consulte la página de manual ssh_config).
Ejemplo:si establece ServerAliveInterval a 60 y deja ServerAliveCountMax tal como está, esto significa que el keepalive solo esperará a 3 * 60 = 180 seconds =
Para aumentar esto a, p. 2 horas de tratar de mantener viva la conexión, puedes hacer:
Por comando:
Por lo tanto, debe considerar establecer
ssh -o "ServerAliveInterval 60" -o "ServerAliveCountMax 120" <SERVER_ADDRESS>
Persistente:
Para hacerlo persistente, escríbalo en /etc/ssh/ssh_config (se aplicará a todo el sistema) o ~/.ssh/config (aplicará solo para el usuario):
ServerAliveInterval 60
ServerAliveCountMax 120
Nota
Como señaló correctamente dislick, esto podría no ser lo que desea, dependiendo de su situación:
- Si desea terminar rápidamente la sesión tan pronto como el servidor ya no responda, debe elegir un valor bajo para
ServerAliveCountMax. - Si está más interesado en mantener una conexión ya establecida (por ejemplo, va en tren y tiene una latencia alta), debe elegir un valor más alto para
ServerAliveCountMaxpara permitirsshpara seguir intentando restablecer la conexión.
Véase también:
- unix.stackexchange.com:¿cuál es el tiempo de inactividad predeterminado para OpenSSH?
Estoy usando Mobaxterm y también me he encontrado con este problema. Mobaxterm también incluye una opción para mantener vivo al cliente cuando está inactivo. Ir a Settings -> Configuration -> SSH . Hay una sección titulada SSH settings , marca la opción SSH keepalive . Entonces el problema debería desaparecer.
