Evite el tiempo de espera de la conexión SSH / tubería rota

Cómo evitar que una sesión SSH se desconecte de un servidor. Conexión agotada o tubería rota

Tanto como usuario de Windows así como por Mac (en los últimos 10 años) pasé mucho tiempo en Conexiones SSH a servidores web, servidores de correo electrónico, nube y otros paquetes de respaldo. La distribución preferida de Linux es sin duda CentOS.

Una de las cosas más estresantes para los administradores de servidores es interrumpir las conexiones SSH. De repente, mientras se abrocha en Putty o Terminal (la mayoría de las veces es un problema de conexión local), o después de un tiempo de "ocioso”- el período de tiempo en el que no interactúa con el servidor remoto a través de la sesión SSH.

Si está utilizando el Mac y use la herramienta Terminal para la conexión remota a través de SSH, entonces seguramente después de un período de inactividad se le haya desconectado con el mensaje: "client_loop: enviar desconexión: tubería rota”. Di la solución en el artículo aquí, en el que dije que se puede agregar en "/etc/ssh/ssh_config" la línea:

Host *
ServerAliveInterval 120

La solución anterior es válida para usuarios de Macy, sinceramente, ser las últimas actualizaciones de macOS No me importa restart cambios realizados en el archivo "ssh_config", Y vuelve el problema de desconectar una sesión inactiva.

Una solución mediante la cual podemos evitar la desconexión de una sesión SSH a una distancia establecida por terminal (macOS) o masilla (Windows), es como además "ServerAliveInterval”Desde nuestra computadora, para determinar el servidor remoto para comunicarse periódicamente con la aplicación / cliente SSH.
Por eso tenemos que poner la directiva "ClientAliveInterval"En"sshd_config”En el servidor al que nos estamos conectando.

Evite el tiempo de espera de la conexión SSH / tubería rota (consejos ssh_config)

1. Nos conectamos al servidor que queremos activar y establecemos un intervalo de tiempo para "ClientAliveInternal". Abrimos SSH en Putty, Terminal u otra utilidad similar y nos autenticamos con el usuario root.

ssh root@server.hostname

2. Ejecute la línea de comando para buscar el archivo "sshd_config" si "ClientAliveInterval" está activo y qué período de tiempo está establecido.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

En nuestro escenario, "ClientAliveInterval" está deshabilitado y el valor del intervalo de tiempo es cero.

[root@buffy ~]# sudo grep "ClientAliveInterval" /etc/ssh/sshd_config
#ClientAliveInterval 0
[root@buffy ~]# 

El hashtag "#"Colocado delante de una línea, la cancela. Ella está inactiva.

3. Abrimos con el editor "nano"O"vim"Archivo"sshd_config“. Prefiero "nano".

sudo nano /etc/ssh/sshd_config

4. Eliminar "#"En frente de la línea"ClientAliveInterval”Y establezca un número de segundos: 60, 120 ...

ClientAliveInterval 120
ClientAliveCountMax 10

5. Guarde los cambios y restartTengo el servicio "sshd".

sudo systemctl restart sshd

ClientAliveInterval : Es el intervalo de tiempo en segundos que el servidor envía un paquete de datos nulo al cliente / aplicación a través del cual estamos conectados al servidor. Esta práctica mantendrá la conexión viva / activa.

ClientAliveCountMax : Clientes SSH que no responden en 10 ciclos de 120 segundos (establecido por "ClientAliveInterval") la conexión se interrumpirá. Es decir, después de 20 minutos en los que el cliente SSH no respondió a los paquetes nulos enviados por el servidor.

Con estos cambios, la conexión SSH será más estable y seguirá siendo igual de segura.

Deje su comentario.

Tu dirección de correo electrónico no será publicada.Los campos necesarios están marcados *

Total
0
Reacciones
Artículo anterior

¿Cómo vemos lo que buscan los usuarios en un sitio de WordPress o en una tienda en línea de WooCommerce (consulta del cuadro de búsqueda)?

Siguiente artículo

¿No puede escuchar el sonido en la "Papelera de reciclaje vacía"? [Como arreglar]

Artículos Relacionados
Total
0
Compartir