El tiempo de espera SSH debido a la inactividad es molesto. He aquí cómo mantener sus sesiones SSH vivas y prevenir el timeout SSH:
Enviando un «paquete nulo» entre el cliente y el servidor en un intervalo especificado que es menor que el valor de timeout, podemos evitar el timeout SSH. No importa si el paquete se envía desde el cliente o el servidor, siempre que haya alguna comunicación entre ambos.
Si configuras tu cliente SSH para que envíe los «paquetes nulos», evitarás un timeout SSH en todas las conexiones SSH que realices desde tu ordenador. Si te molesta que tus propias sesiones SSH se agoten cuando te conectas a los servidores, esto es lo que quieres hacer.
Si tus clientes (clientes, usuarios, niños) están hartos del tiempo de espera de SSH, puedes instruirles sobre cómo configurar sus clientes SSH – como indicándoles este artículo – o puedes configurar el propio servidor para evitar el tiempo de espera de la sesión SSH. Para ello, configuras el servidor SSH para que envíe los «paquetes nulos», y evitarás que se agote el tiempo de espera en todas las conexiones SSH que cada cliente haga al servidor.
Afortunadamente, las configuraciones no son excluyentes, así que puedes configurar tanto tu cliente como todos tus servidores y todo funcionará sin problemas.
Prevenir el tiempo de espera de SSH en el lado del cliente
Si estás en Mac o Linux, puedes editar tu archivo de configuración local de SSH en ~/.ssh/config
y añadir la siguiente línea:
ServerAliveInterval 120
Esto enviará un «paquete nulo» cada 120 segundos en tus conexiones SSH para mantenerlas vivas.
Prevenir el tiempo de espera de SSH en el lado del servidor
Si usted es un administrador del servidor, puede añadir lo siguiente a su configuración de demonio SSH en /etc/ssh/sshd_config
en sus servidores para evitar que los clientes a tiempo – por lo que no tienen que modificar su configuración local de SSH:
ClientAliveInterval 120ClientAliveCountMax 720
Esto hará que el servidor envíe a los clientes un «paquete nulo» cada 120 segundos y no los desconecte hasta que el cliente haya estado inactivo durante 720 intervalos (120 segundos * 720 = 86400 segundos = 24 horas).