¿Cómo resuelvo una conexión ssh cerrada por un host remoto debido a la inactividad?

14

Actualmente estoy tratando de cambiar a un colo, después de 1 a 2 minutos de inactividad, obtengo:

superuser@thecolo:~$ Connection to 10.123.45.67 closed by remote host.
Connection to 10.123.45.67 closed.
mylocalmac:~ superuser$

Mientras esté escribiendo algo en el terminal ssh, la conexión se mantiene. Tan pronto como haya pasado de 1 a 2 minutos de inactividad, recibiré el mensaje anterior. La máquina a la que intento conectarme es una edición de servidor Ubuntu 12.04.1 LTS de 64 bits. No es un servidor físico sino un VMware invitado. Estoy enviando mensajes desde un terminal de Mac.

No confunda esta pregunta con otras similares en este sitio con la palabra clave ssh_exchange_identification, no está relacionada.

Thierry Lam
fuente

Respuestas:

17

Agregue lo siguiente a su $ HOME / .ssh / config y todas sus conexiones ssh enviarán un TCPKeepAlive cada 30 segundos:

TCPKeepAlive yes
ServerAliveInterval 30
balcánico
fuente
no se puede encontrar el archivo de configuración en el servidor
insoftservice
Puede crear el archivo en su directorio de inicio si no existe
balkian
9

Si se conecta desde una computadora Linux, puede usar algunas opciones directamente desde la línea de comandos

TCPKeepAlive: utiliza la opción KEEPALIVE del protocolo TCP / IP para mantener viva una conexión después de un intervalo específico de inactividad. En la mayoría de los sistemas, esto significa 2 horas. Entonces, con la opción TCPKeepAlive pasada a SSH, el cliente SSH enviará un paquete encriptado al servidor SSH, manteniendo su conexión TCP en funcionamiento.

ssh -o TCPKeepAlive=yes [email protected]

ServerAliveInterval: establece un intervalo de tiempo de espera en segundos, que usted especifica, desde el cual si no se envían paquetes desde el cliente SSH al servidor SSH, SSH enviará una solicitud cifrada al servidor para una respuesta TCP. Para hacer esa solicitud cada 30 segundos:

ssh -o ServerAliveInterval=30 [email protected]

Fuente

ricciocri
fuente
0

Necesitas "keepalive"

Dependiendo de su cliente, esto puede ser trivial o simplemente fácil, ¡no debería ser más difícil!

Por ejemplo, en masilla está en la opción de conexión (establezca keepalive en un valor distinto de cero)

Andrés
fuente
¿Dónde configuro el keepalive? ¿En el servidor o desde mi mac? ¿Dónde debo establecer ese valor y cuál es el valor recomendado?
Thierry Lam
Keepalive estará en el cliente ... en su caso, su Mac. ¡Habrá una opción en alguna parte!
Andrew