Si sos un usuario asiduo de SSH probablemente hayas notado que algunas veces «se desconecta solo». Para corregir esta situación sólo hay que «ensuciarse un poco» las manos y cambiar algunos archivos de configuración. |
Para ello, hay que cambiar los valores asignados a 2 variables ServerAliveCountMax y ServerAliveInterval.
ServerAliveCountMax establece el número de mensajes «el servidor está vivo» que pueden ser enviados sin que ssh reciba respuesta desde el servidor. Este tipo de mensajes es indispensable para saber si la conexión sigue activa o no (tal vez el servidor se «cayó», etc.).
ServerAliveInterval establece el intervalo (en segundos) luego del cual, en caso de no recibir respuesta desde el servidor, ssh volverá a enviar un mensaje solicitando una respuesta.
En el cliente
Para que los cambios tengan efectos para todos los usuarios hay que modificar el archivo /etc/ssh/ssh_config. En cambio, si querés que los cambios sólo tengan efecto para tu usuario, modificá el archivo ~/.ssh/config.
Agregá lo siguiente en el archivo de configuración de SSH:
Host *
ServerAliveInterval 300
ServerAliveCountMax 3
En el servidor
Para que sea el servidor quien mantenga vivas las conexiones con todos los clientes, agregá lo siguiente en el archivo /etc/ssh/sshd_config:
ServerAliveInterval 300
ServerAliveCountMax 3
Esta configuración hace que el cliente/servidor envíe un mensaje a la contraparte cada 300 segundos (5 minutos) y se dé por vencido a la 3 oportunidad si no ha recibido respuesta alguna.
3 comentarios, deja el tuyo
http://mosh.mit.edu/
Muy bueno aun que en Archlinux editamos el mismo archivo /etc/ssh/sshd_config y descomentamos(quitar el #) ClientAliveInterval y cambiamos el valor de 0 a 300 también descomentamos ClientAliveCountMax y dejamos el valor que trae por default que es 3 (esto para Cliente).
Muchas gracias por el dato, con esto me voy a ahorrar un buen de trabajo.