Cómo configurar la multiplexación SSH en Linux para mejorar la eficiencia

¿Cuántas veces inicias sesión y cierras sesión en tus servidores remotos durante el día? Si administras todo un centro de datos de servidores Linux, esa respuesta puede llegar a ser abrumadora. Incluso mejor, ¿con qué frecuencia ejecutas comandos en hosts remotos (a través de SSH)? Si usas SSH de esta manera (como en ssh USUARIO@HOST COMANDO), es posible que te frustres con la velocidad con la que se realiza este proceso. ¿No sería genial si hubiera un método para hacer que este proceso sea un poco más eficiente? Afortunadamente, para cada administrador ocupado en el planeta, existe ese método. Dicho método se llama multiplexación.

La multiplexación de conexiones SSH te permite trabajar con varias sesiones de SSH a través de una única conexión TCP. La mayor ventaja de utilizar la multiplexación es que acelera ciertas operaciones que ocurren a través de SSH (como la ejecución de comandos).

¿Cómo funciona esto? Básicamente, SSH puede utilizar una conexión TCP existente para varias sesiones concurrentes, lo que resulta en una reducción en la sobrecarga de nuevas conexiones TCP.

Voy a mostrarte cómo configurar la multiplexación en un cliente Linux que se conecta a un servidor Linux remoto.

Índice de Contenido
  1. Configuración de la multiplexación
  2. Realizando la conexión
  3. Verifica que está funcionando
  4. SSH acelerado

Configuración de la multiplexación

SSH puede utilizar un archivo de configuración útil para cada usuario en una máquina determinada. Crea ese archivo con el comando:

nano ~/.ssh/config

Cómo ejecutar comandos en servidores remotos con SSH

Pega lo siguiente al principio de ese archivo:

Host *
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p.socket

El archivo anterior funcionará si te conectas a varias redes (como en tu LAN y/o fuera de la WAN). El desglose de esa configuración es:

  • Host: nombre de la conexión
  • ControlMaster: habilita el uso compartido de múltiples sesiones a través de una única conexión de red. Cuando se establece en "auto", SSH intentará usar una conexión maestra, pero si no existe, utilizará una nueva conexión.
  • ControlPath: la ruta para el socket de unix de control utilizado para compartir la conexión. Las variables son: %r para el nombre de usuario remoto, %h para el host remoto y %p para el puerto remoto.

Supongamos que tiendes a conectarte a varios servidores. Puedes agregar la entrada HostName y definir servidores remotos específicos de la siguiente manera:

Host DOCKERMASTER
HostName 192.168.1.71
ControlMaster auto
ControlPath ~/.ssh/ssh-%r@%h:%p

Host HARBOR
HostName 192.168.1.75
ControlMaster auto
ControlPath ~/.ssh/ssh-%r@%h:%p

Cómo cambiar la contraseña de root en un contenedor Docker

Crea tantas entradas como necesites. Guarda y cierra ese archivo.

Realizando la conexión

Supongamos que has creado una entrada para DOCKERMASTER y HARBOR. Luego podrías conectarte a ellos con los siguientes comandos SSH:

ssh USUARIO@DOCKERMASTER
ssh USUARIO@HARBOR

Donde USUARIO es un nombre de usuario en las máquinas remotas.

O podrías enviar un comando a uno de esos servidores remotos de la siguiente manera:

ssh jack@DOCKERMASTER 'ls /etc/docker/certs.d/192.168.1.75'

Cómo acceder a instancias de AWS utilizando SSH y cómo importar tu propio par de claves

Verifica que está funcionando

Si quieres asegurarte de que la multiplexación está funcionando, realiza SSH a uno de tus hosts que están en el archivo de configuración y luego emite el siguiente comando en el cliente:

ssh -O check USUARIO@HOST

Donde USUARIO es el nombre de usuario remoto y HOST es el host al que te has conectado. Deberías ver que el maestro está en ejecución y el PID asociado al servicio (Figura A).

Si descubres que dejas conexiones abiertas e inactivas durante períodos más largos, puedes definir la opción ControlPersist en el archivo de configuración para que permanezca abierta en segundo plano durante un tiempo especificado. Esa opción se vería así:

Host HARBOR
HostName 192.168.1.75
ControlMaster auto
ControlPath ~/.ssh/ssh-%r@%h:%p
ControlPersist 30m

La configuración anterior dejaría la conexión maestra abierta durante 30 minutos (incluso si está inactiva).

El auge del cibercrimen en la Dark Web rusa: una mirada al panorama delictivo en línea

SSH acelerado

Con la multiplexación en su lugar, tus acciones SSH (para iniciar sesión, ejecutar comandos, etc.) deberían ser más eficientes. Prueba esto y comprueba si no hace que tu vida diaria como administrador sea un poco menos frustrante en la línea de comandos.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Seguridad, allí encontraras muchos artículos similares a Cómo configurar la multiplexación SSH en Linux para mejorar la eficiencia , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.