Prerrequisitos:
Antes de comenzar los pasos de este tutorial, se requerirán los siguientes pasos para completar.
Habilite el servicio SSH en Ubuntu si no está habilitado antes.
Genere los pares de teclas SSH para ejecutar los comandos en el servidor remoto. Ejecute el siguiente comando para crear la clave pública y la clave privada. La clave privada se almacenará en el servidor remoto, y las claves públicas se almacenarán en el cliente de forma segura.
$ ssh -keygen -t rsa
Ejecute el siguiente comando para abrir el sshd_config Archivo con el editor Nano para agregar algunas configuraciones necesarias.
$ sudo nano/etc/ssh/sshd_config
Agregue las siguientes líneas en el archivo para habilitar el inicio de sesión raíz y la autenticación basada en contraseña.
Contraseña Autenticación Sí
Permitrootlogin si
Ejecute el siguiente comando para reiniciar el servicio SSH.
$ sudo servicio ssh reiniciar
Establezca las opciones Keep-Alive en el archivo de configuración del servidor:
Una forma de aumentar el tiempo de espera de la conexión SSH es modificar el archivo de configuración de la máquina del servidor. Pero esta no es una forma segura porque esta configuración será aplicable para todas las máquinas clientes que se conectarán con la máquina del servidor. Entonces, la forma alternativa de aumentar la conexión SSH es una mejor opción que se ha descrito en la siguiente parte del tutorial. Inicie sesión en la máquina del servidor y abra el /etc/ssh/sshd_config Archivo de cualquier editor para establecer los valores de parámetros necesarios para la configuración del lado del servidor. Los valores del Interval de Clientalive y Clientalivecountmax Los parámetros están configurados para aumentar el tiempo de espera de la conexión SSH. Interval de Clientalive se usa para establecer el intervalo de tiempo de espera en segundos. Si no se pasan datos después del tiempo asignado en este parámetro, el servidor enviará un mensaje de solicitud al cliente a través del canal cifrado para la respuesta. El valor predeterminado de este parámetro es 0. Clientalivecountmax se usa para establecer el número de mensajes vivos del cliente. Cuando se alcanza el valor de este parámetro, pero el servidor no recibe ninguna respuesta del cliente, el servidor desconecta la conexión. Entonces, el valor de tiempo de espera total se calcula mediante la siguiente fórmula.
Tiempo de tiempo de espera = ClientaliveInterval * ClientAliveCountMax
Ejecute el siguiente comando para abrir el archivo usando el editor NANO y establecer 3600 segundos para el valor de Interval de Clientalive y 3 para el valor ClientAlIVeDMax.
$ sudo nano/etc/ssh/sshd_config
Establezca los valores como la siguiente imagen. Según la fórmula anterior, el servidor desconectará la conexión después de 10800 (3600 × 3) segundos si el cliente no envía respuesta. Entonces, el servidor estará vivo durante 10800 segundos o 180 minutos.
Ahora, ejecute el siguiente comando para reiniciar el servidor.
$ sudo systemctl reiniciar sshd
Establezca las opciones Keep-Alive en el archivo de configuración del cliente:
Otra forma de aumentar el tiempo de espera de la conexión SSH es modificar el archivo de configuración de la máquina del cliente, y es más seguro que la opción anterior. Inicie sesión en la máquina del cliente y abra el archivo/etc/ssh/ssh_config para establecer los valores de parámetros necesarios para aumentar el tiempo de espera de la conexión SS. ServeraliveInterval y Serveralivecountmax Se establecen parámetros para aumentar el tiempo de espera de la conexión. Estos parámetros funcionan de manera similar a los parámetros de configuración del lado del servidor. ServeraliveInterval se usa para establecer el intervalo de tiempo de espera en segundos y Serveralivecountmax se usa para establecer el número de mensajes vivos del servidor. El cliente envía un paquete al servidor en cada intervalo definido en ServeraliveInterval. If El cliente no recibe ninguna respuesta del servidor después de intentar el valor asignado en Serveralivecountmax, entonces el cliente desconectará la conexión.
Ejecute el siguiente comando para abrir el archivo utilizando el editor nano y establecer 180 segundos para el ServeraliveInterval valor y 4 para el Serveralivecountmax valor.
$ sudo nano/etc/ssh/ssh_config
Agregue las siguientes líneas al final del archivo. Según el valor asignado, el cliente enviará un paquete a cada 180 segundos o 3 minutos 4 veces. Si el servidor no envía ninguna respuesta dentro de 720 (180 × 4) segundos o 12 minutos, entonces la conexión será desconectada por el cliente automáticamente. Aquí, el valor de host del servidor es 'fahmida', y la dirección IP del nombre de host es 10.0.2.15.
Anfitrión de Fahmida
Nombre de host 10.0.2.15
ServerAliveRinterval 180
Serveralivecountmax 4
Modifique el archivo como la siguiente imagen.
Después de usar cualquiera de las formas mencionadas anteriormente, inicie sesión en la máquina del cliente y ejecute el comando SSH desde el terminal para conectarse con el servidor. Deberá estar inactivo durante largos tiempos en la máquina del cliente para verificar que el tiempo de conexión SSH aumente o no. El servidor desconectará la conexión si permanece inactivo durante 180 minutos, y el cliente desconectará la conexión si permanece inactiva durante 12 minutos.
Conclusión:
Las formas seguras e inseguras de aumentar el tiempo de espera de la conexión SSH se han mostrado en este tutorial para ayudar a los usuarios a mantener viva su conexión SSH para diversos fines.