¿Cómo mantener viva la conexión SSH?

11

¿Cómo puedo mantener viva una conexión SSH sin usarla activamente? Cuando lo uso, funciona bien, pero cuando no lo uso durante unos minutos, se desconecta. A medida que recibo un correo electrónico cada vez que me conecto, ¿cómo puedo mantener viva la sesión SSH?

Nota: en mi .ssh/configarchivo, en la parte superior tengo

Host *
ServerAliveInterval 3

Pero no parece funcionar.

NerdOfLinux
fuente
¿Qué cliente ssh? 3 es demasiado corto, use un intervalo de 60. También puede ponerlo en / etc / ssh / ssh_config si tiene acceso de root.
Panther
*deberían ser todos ellos, ¿no?
NerdOfLinux
No creo que eso funcione con PuTTY
Panther
1
Consulte la siguiente URL para obtener instrucciones de PuTTy a2hosting.com/kb/getting-started-guide/accessing-your-account/…
Haitham A. El-Ghareeb

Respuestas:

10

Debe especificar la cantidad de intentos e intervalo de envío de un paquete al servidor. Puede poner las siguientes líneas en su .ssh/configarchivo:

Host examplehost
    Hostname examplehost.com
    ServerAliveInterval 180
    ServerAliveCountMax 2

Esto enviará un paquete al servidor cada 180 segundos (3 minutos) y lo intentará dos veces antes de cerrar la conexión después de no recibir respuesta del cliente.

Peshmerge
fuente
2
Me olvidé por completo de lo ServerAliveCountMaxque probablemente resolvió mi problema.
NerdOfLinux
4

En los sistemas operativos Linux y Apple Mac OS X, el ~/.ssh/configarchivo le permite especificar muchas configuraciones SSH, incluidas las que mantienen viva una conexión SSH. Para hacer esto, siga estos pasos:

  1. Use su editor de texto preferido para abrir el ~/.ssh/configarchivo en su computadora local. Nota: Si el .sshdirectorio o el archivo de configuración no existen, créelos.

  2. Agregue las siguientes líneas al archivo de configuración. El valor de Host puede ser cualquier nombre que desee; es simplemente una etiqueta para las otras configuraciones. El valor de nombre de host es el host remoto al que desea acceder; reemplace example.com con su nombre de dominio. Reemplace el nombre de usuario con su propio nombre de usuario de cuenta de Hosting:


    Host example
        Hostname example.com
        Port 7822
        User username
        ServerAliveInterval 240
        ServerAliveCountMax 2

Con esta configuración, el cliente SSH envía un paquete al servidor cada 240 segundos (4 minutos) para mantener viva la conexión. Si el cliente no recibe una respuesta después de dos intentos (como lo especifica la configuración ServerAliveCountMax), cierra la conexión.

Para obtener información detallada sobre todos los ajustes de configuración SSH disponibles, escriba man ssh_configen la línea de comando.

  1. Guarde los cambios en el archivo de configuración.

  2. Conéctese a su cuenta usando SSH. Para hacer esto, simplemente escriba ssh example donde example representa el valor de Host que especificó en el paso 2.

Monitoree la conexión. Si todavía cae, disminuya gradualmente la ServerAliveIntervalconfiguración en el archivo de configuración hasta que la conexión sea estable.

Consulte la siguiente URL para obtener más detalles https://www.a2hosting.com/kb/getting-started-guide/accessing-your-account/keeping-ssh-connections-alive

Haitham A. El-Ghareeb
fuente
4

También puede agregar estos argumentos en el comando ssh, así ...

ssh -o ServerAliveInterval=180 -o ServerAliveCountMax=2 $HOST
trueCamelType
fuente