4 formas de acelerar las conexiones SSH en Linux

4 formas de acelerar las conexiones SSH en Linux

Ssh es el método más popular y seguro para administrar los servidores de Linux de forma remota. Uno de los desafíos con la administración remota del servidor son las velocidades de conexión, especialmente cuando se trata de la creación de sesión entre las máquinas remotas y locales.

Hay varios cuellos de botella en este proceso, un escenario es cuando se está conectando a un servidor remoto por primera vez; normalmente tarda unos segundos en establecer una sesión. Sin embargo, cuando intenta iniciar múltiples conexiones en sucesión, esto causa una sobrecarga (combinación de exceso o tiempo de cálculo indirecto, memoria, ancho de banda u otros recursos relacionados para llevar a cabo la operación).

En este artículo, compartiremos cuatro consejos útiles sobre cómo acelerar las conexiones SSH remotas en Linux.

1. Force la conexión SSH a través de IPv4

OpenSSH admite tanto IPv4/IP6, pero a veces IPv6 Las conexiones tienden a ser más lentas. Por lo tanto, puede considerar forzar las conexiones SSH solo a través de IPv4, utilizando la sintaxis a continuación:

# ssh -4 [correo electrónico protegido] 

Alternativamente, use el Dirección Family (Especifica que la familia de direcciones se use al conectarse) Directiva en su archivo de configuración SSH /etc/ssh/ssh_config (configuración global) o ~/.ssh/config (archivo específico del usuario).

Los valores aceptados son "cualquier","inet"Solo para IPv4, o"inet6".

$ vi ~.ssh/config 
Desactivar las conexiones SSH en IPv6

Aquí hay una guía de inicio útil sobre la configuración del archivo de configuración SSH específico del usuario:

  1. Cómo configurar las conexiones SSH personalizadas para simplificar el acceso remoto

Además, en la máquina remota, también puede instruir al demonio SSHD que considere las conexiones a través de IPv4 utilizando la directiva anterior en la /etc/ssh/sshd_config archivo.

2. Desactivar la búsqueda de DNS en una máquina remota

Por defecto, SSHD Daemon busca el nombre de host remoto y también verifica que el nombre de host resuelto para la dirección IP remota se mapea a la misma dirección IP. Esto puede resultar en retrasos en el establecimiento de conexión o la creación de la sesión.

El Usos La directiva controla la funcionalidad anterior; Para deshabilitarlo, buscarlo y desenchufarlo en el /etc/ssh/sshd_config archivo. Si no está configurado, agrégalo con el valor No.

Usado no 
Desactivar la búsqueda SSH DNS

3. Reutilizar la conexión SSH

Se utiliza un programa de cliente SSH para establecer conexiones a un demonio SSHD que acepta conexiones remotas. Puede reutilizar una conexión ya establecida al crear una nueva sesión SSH y esto puede acelerar significativamente las sesiones posteriores.

Puedes habilitar esto en tu ~/.ssh/config archivo.

Host * Controlmaster Auto Controlpath ~/.SSH/Sockets/%[correo electrónico protegido]%H-%P Controlpersist 600 

La configuración anterior (Anfitrión *) habilitará la reutilización de la conexión para todos los servidores remotos a los que se conecta al usar estas directivas:

  • Controlador de control - habilita el intercambio de múltiples sesiones a través de una sola conexión de red.
  • Papatio de control - Define una ruta al enchufe de control utilizado para compartir la conexión.
  • Controlador de control - Si se usa junto con Controlador de control, le dice a SSH que mantenga la conexión maestra abierta en segundo plano (esperando las futuras conexiones del cliente) una vez que se haya cerrado la conexión del cliente inicial.
Reutilizar las conexiones SSH

Puede habilitar esto para las conexiones a un servidor remoto específico, por ejemplo:

Host Server1 hostname www.ejemplo.com identityfile ~/.SSH/servidor web.PEM User UserName_here ControlMaster Controlpath ~/.SSH/Sockets/%[correo electrónico protegido]%H-%P Controlpersist 600 

De esta manera, solo sufre la sobrecarga de conexión para la primera conexión, y todas las conexiones posteriores serán mucho más rápidas.

4. Utilice el método específico de autenticación SSH

Otra forma de acelerar las conexiones SSH es usar un método de autenticación dado para todas las conexiones SSH, y aquí recomendamos configurar el inicio de sesión sin contraseña SSH usando SSH Keygen en 5 sencillos pasos.

Una vez hecho eso, use el Autorizaciones preferidas directiva, dentro ssh_config archivos (global o específico del usuario) arriba. Esta directiva define el orden en que el cliente debe probar los métodos de autenticación (puede especificar una lista separada por comando para usar más de un método).

PreferedAuthentications = PublicKey 
Método de autenticación SSH

Opcionalmente, use esta sintaxis a continuación desde la línea de comando.

# ssh -o "PreferredAuthentications = PublicKey" [correo electrónico protegido] 

Si prefiere la autenticación de contraseña que se considera no segura, use esto.

# ssh -o "preferedAuthentications = contraseña" [correo electrónico protegido] 

Finalmente, debe reiniciar su demonio SSHD después de hacer todos los cambios anteriores.

# SystemCTL reiniciar sshd #systemd # servicio sshd reiniciar #sysvinit 

Para obtener más información sobre las directivas utilizadas aquí, consulte el ssh_config y sshd_config Páginas del hombre.

# man ssh_config # man sshd_config 

También consulte estas guías útiles para asegurar SSH en los sistemas Linux:

  1. 5 mejores prácticas para asegurar y proteger el servidor SSH
  2. Cómo desconectar conexiones SSH inactivas o inactivas en Linux

Eso es todo por ahora! ¿Tiene algún consejo/truco para acelerar las conexiones SSH?. Nos encantaría saber de otras formas de hacer esto. Use el formulario de comentarios a continuación para compartir con nosotros.