GNU/Linux >> Tutoriales Linux >  >> Linux

Ssh:¿cómo funciona TCP-keepalive en Ssh?

Estoy tratando de codificar un script de shell que usa una conexión ssh para hacer "latidos". Quiero terminar el lado del cliente y del servidor de esa conexión después de un cierto tiempo de espera (después de que se caiga la conexión).

Lo que encontré hasta ahora:

  • TCP KeepAlive sí/no para ssh y sshd
  • ClientAliveCountMax para sshd
  • ClientAliveInterval para sshd
  • ServerAliveCountMax para ssh
  • Intervalo de vida del servidor para ssh

Para cambiar "ClientAliveCountMax", tendría que modificar sshd_config en cada máquina de destino (esta opción está deshabilitada de manera predeterminada).

Así que mi pregunta es:¿puedo usar "TCPKeepAlive" también para mis propósitos (sin cambiar nada más en las máquinas de origen/destino)?

El sistema operativo de destino es SLES11 SP2, pero no creo que sea relevante aquí.

Respuesta aceptada:

Probablemente quiera usar la configuración de ServerAlive para esto. No requieren ninguna configuración en el servidor y se pueden establecer en la línea de comandos si lo desea.

ssh -o ServerAliveInterval=5 -o ServerAliveCountMax=1 $HOST

Esto enviará un mensaje ssh keepalive cada 5 segundos, y si llega el momento de enviar otro keepalive, pero no se recibió una respuesta al último, entonces la conexión se termina.

La diferencia crítica entre ServerAliveInterval y TCPKeepAlive es la capa en la que operan.

  • TCPKeepAlive opera en la capa TCP. Envía un paquete TCP ACK vacío. Los cortafuegos se pueden configurar para ignorar estos paquetes, por lo que si pasa por un cortafuegos que elimina las conexiones inactivas, es posible que no mantengan la conexión viva.
  • ServerAliveInterval opera en la capa ssh. En realidad, enviará datos a través de ssh, por lo que el paquete TCP tiene datos cifrados y un firewall no puede saber si es un paquete keepalive o legítimo, por lo que funcionan mejor.

Linux
  1. ¿Qué es un Makefile y cómo funciona?

  2. ¿Qué es NGINX? ¿Como funciona?

  3. ¿Cómo funciona Rm? ¿Qué hace Rm?

  4. ¿Cómo funciona realmente sig_atomic_t?

  5. ¿Cómo funciona el comando ps?

¿Cómo funciona Git?

¿Cómo funciona SFTP?

Ssh:¿cómo funciona el túnel Ssh inverso?

Linux:¿cómo funciona la pantalla de Linux?

¿Cómo funciona el intercambio de memoria en Linux?

¿Cómo funciona la pantalla de Linux?