¿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.

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

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 user@some.host.com

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 user@some.host.com

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)


¿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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.