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 servidores 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 sesiones entre las máquinas remotas y locales.

Hay varios cuellos de botella en este proceso, un escenario es cuando se conecta a un servidor remoto por primera vez; normalmente se necesitan unos segundos para establecer una sesión. Sin embargo, cuando intenta iniciar varias conexiones en sucesión, esto provoca una sobrecarga (combinación de tiempo de cálculo indirecto o excesivo, 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. Forzar conexión SSH sobre IPV4

OpenSSH admite tanto IPv4/IP6, pero en ocasiones las conexiones IPv6. tienden a ser más lentas. Por lo tanto, puede considerar forzar conexiones ssh solo a través de IPv4, usando la siguiente sintaxis:

# ssh-4 [email protected]

Alternativamente, use AddressFamily. (especifica la familia de direcciones que se usará al conectarse) en su archivo de configuración ssh /etc/ssh/ssh_config. (configuración global) o ~/.ssh/config. (archivo específico del usuario).

freestar.config.enabled_slots.push

Los valores aceptados son “ any. , “ inet. ”Solo para IPv4 o“ inet6. ”.

$ vi ~ .ssh/config Deshabilitar conexiones SSH en ipv6  Deshabilitar conexiones SSH en ipv6 Deshabilite las conexiones SSH en ipv6

Aquí hay una guía de inicio útil para configurar el archivo de configuración ssh específico del usuario:

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

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

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

De forma predeterminada, el demonio sshd busca el nombre del host remoto y también verifica que el nombre del host resuelto para la dirección IP remota se corresponda con la misma dirección IP. Esto puede resultar en retrasos en el establecimiento de la conexión o la creación de la sesión.

La directiva UseDNS. controla la funcionalidad anterior; para deshabilitarlo, búsquelo y descomente en el archivo /etc/ssh/sshd_config. Si no está configurado, agréguelo con el valor no.

UseDNS no  Desactivar búsqueda de DNS SSH  Desactivar búsqueda de DNS SSH Desactivar búsqueda de DNS SSH

3. Reutilizar la conexión SSH

Se utiliza un programa cliente ssh para establecer conexiones con 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.

Puede habilitar esto en su archivo ~/.ssh/config. .

Host * ControlMaster auto ControlPath ~/.ssh/sockets/% [email protected]% h-% p ControlPersist 600

La configuración anterior ( Host *. habilitará la conexión re-utilice para todos los servidores remotos a los que se conecta usando estas directivas:

  • ControlMaster. permite compartir varias sesiones a través de una única conexión de red.
  • ControlPath. define una ruta al conector de control utilizado para compartir la conexión.
  • ControlPersist. si se utiliza junto con ControlMaster. le indica a ssh que mantenga abierta la conexión maestra en segundo plano ( esperando futuras conexiones de cliente) una vez que se haya cerrado la conexión de cliente inicial.

 Reutilizar conexiones SSH  Reutilizar conexiones SSH Reutilizar conexiones SSH

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

Host server1 HostName www.example.com IdentityFile ~/.ssh/webserver.pem User username_here ControlMaster auto ControlPath ~/.ssh/sockets/% [email protected] % h-% p ControlPersist 600

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

4. Use un método de autenticación SSH específico

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 esto, use la directiva PreferredAuthentications. dentro de los archivos ssh_config. (globales o específicos del usuario) arriba. Esta directiva define el orden en el que el cliente debe probar los métodos de autenticación (puede especificar una lista separada por comandos para usar más de un método).

PreferredAuthentications = publickey  Método de autenticación SSH  Método de autenticación SSH Método de autenticación SSH

Opcionalmente, use la siguiente sintaxis desde la línea de comando.

# ssh-o” PreferredAuthentications = publickey “[email protected]

Si prefiere la autenticación por contraseña que se considera inseguro, utilice esto.

# ssh-o “PreferredAuthentications = contraseña” [correo electrónico protegido]

Por último, debe reiniciar su demonio sshd después de realizar todos los cambios anteriores.

# systemctl restart sshd #Systemd # service sshd restart #SysVInit

Para obtener más información sobre las directivas utilizadas aquí, consulte ssh_config. y sshd_config. páginas de manual.

# man ssh_config # man sshd_config

Consulte también estas guías útiles para proteger ssh en sistemas Linux:

  1. 5 mejores prácticas para asegurar y proteger el servidor SSH
  2. Cómo desconectar las 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 conocer otras formas de hacer esto. Utilice el formulario de comentarios a continuación para compartir con nosotros.