
Tengo un servidor CentOS al que accedo a través de SSH desde mi computadora portátil con Windows, ya sea manualmente con Putty o mediante programación usando el módulo Python Fabric.
A veces, después de un período de inactividad, la conexión se cierra.
Mi pregunta principal es ¿cuándo/por qué? ¿Dónde están las configuraciones que dictan cuándo se debe cerrar una conexión SSH? ¿Cuáles son los valores predeterminados si no se establece ninguno? Simplemente me gustaría entender la lógica que conlleva el cierre de mi conexión... a veces parece permitir que una conexión permanezca abierta durante más de 12 horas de inactividad, mientras que otras veces parece cerrar la conexión después de solo ~30 minutos. de inactividad.
Una pregunta secundaria es si hay alguna manera de hacer que Putty permanezca abierto. En este momento Putty simplemente me dice que la conexión se cerró y me pide que cierre la ventana. ¿Hay alguna manera de que PuTTY simplemente reinicie la conexión y no requiera que cierre las ventanas y vuelva a iniciar sesión manualmente?
Respuesta1
Probablemente haya configurado ClientAliveCountMax 0
alguna ClientAliveInterval
opción sshd_config
(o haya utilizado algún valor predeterminado).
Establecer estos valores en un valor distinto de cero debería permitir que el servidor envíe mensajes de mantenimiento que verificarán que el cliente sigue respondiendo.
Debería haber una opción similar en el cliente (en openssh llamado) ServerAliveCountMax
y ServerAliveInterval
).
Este comportamiento también puede deberse al uso de la opción del cliente TCPKeepAlive
y lo mismo en el servidor, pero está activado de forma predeterminada.