Reutilización de la conexión en sesiones de Secure Shell

La reutilización de la conexión permite que se añadan sesiones adicionales de Secure Shell a una conexión Secure Shell ya establecida. Una analogía sencilla para esto es un cable de fibra óptica, en el que el tubo exterior representa la conexión por la que se dirigen los distintos hilos de fibra óptica (las sesiones y los túneles). Las sesiones adicionales pueden ser sesiones de terminal nuevas, nuevas sesiones de transferencias de archivos SFTP, conexiones X11 reenviadas, cualquier comunicación configurada para el reenvío de puertos a través de un túnel SSH o cualquier conexión que se haya establecido mediante una de las utilidades de líneas de comandos Secure Shell.

Cuando se reutiliza una conexión Secure Shell ya establecida, no es necesario repetir el proceso de autenticación. La sesión nueva siempre utiliza todos los parámetros Secure Shell configurados para la conexión inicial. Todas las diferencias en los métodos de autenticación, parámetros de cifrado, parámetros MAC o definiciones de reenvío de puertos se ignoran.

La reutilización de conexiones está activada de forma predeterminada para todas las conexiones Secure Shell que se realicen utilizando la interfaz de usuario. Puede desactivar esta característica quitando la marca de la casilla de verificación Reutilizar conexión existente, si está disponible de la ficha General del cuadro de diálogo Configuración de Secure Shell.

Tras establecer una conexión en la que se encontraba activada la opción Reutilizar conexión existente, si está disponible, las sesiones Secure Shell siguientes reutilizarán la conexión establecida si se cumplen todas las condiciones siguientes:

  • El nombre del host de la sesión nueva debe coincidir exactamente con el nombre del host de la conexión establecida.

  • El nombre de usuario de la sesión nueva debe coincidir exactamente con el nombre de usuario de la conexión establecida.

  • El número de puerto de la sesión nueva debe ser el mismo que el número de puerto de la conexión establecida. (Esta condición se cumple de manera predeterminada.)

  • Si la sesión original está configurada para utilizar un esquema de configuración SSH diferente al del nombre del host, la sesión nueva se debe configurar para que utilice el mismo plan.

NOTA:si utiliza utilidades de líneas de comandos para establecer las conexiones SSH, se deben cumplir condiciones adicionales para poder reutilizar las conexiones existentes. Dichas condiciones se indican a continuación.

Reutilización de la conexión en Sesiones de líneas de comandos

La reutilización de la conexión resulta útil para las operaciones de líneas de comandos en las que sean necesarias conexiones Secure Shell, se necesiten muchas operaciones secundarias entre un cliente y un solo servidor y el intervalo de tiempo de intercambio de claves y autenticación represente una parte significativa del tiempo total de conexión. Éste sería el caso si quisiera transferir muchos archivos pequeños o ejecutar comandos sencillos del sistema operativo que no tengan como resultado grandes cantidades de salidas. En estos casos, puede resultar ventajoso el establecimiento de una conexión SSH original mediante la utilidad de líneas de comandos ssh (o ssh2), para luego reutilizar la conexión con operaciones de utilidades de líneas de comandos posteriores.

De forma predeterminada, la reutilización de la conexión está deshabilitada para las utilidades de la línea de comandos del cliente de Secure Shell: ssh, scp, sftp, scp2 y sftp2. Para habilitar la reutilización de la conexión de estas utilidades de la línea de comandos, debe utilizar una de las siguientes técnicas.

  • Agregar el modificador "-o ConnectionReuse=yes" para cada línea de comando. Debe utilizar este modificador cuando establezca la conexión inicial, así como en todas las líneas de comando posteriores en las que desee reutilizar la conexión inicial. Por ejemplo, con los siguiente comandos, la conexión sftp reutilizará la conexión establecida por el comando ssh.

    ssh "-o connectionReuse=yes" myuser@myhost
    sftp "-o connectionReuse=yes" myuser@myhost
  • En la ventana de comandos de MS-DOS (o al principio de un archivo por lotes), establezca la variable de entorno SSHConnectionReUse como se muestra a continuación:

    set SSHConnectionReUse=yes

Si se produce un conflicto de parámetros, prevalece el modificador -o.

NOTA:

  • Los servidores OpenSSH son compatibles con el parámetro MaxStartups que se utiliza para limitar el número de sesiones no autenticadas simultáneas. Este ajuste afectará al número de sesiones que se pueden establecer y que reutilicen una conexión existente. Cuando se alcanza el número máximo de sesiones especificado en el parámetro MaxStartups, todas las sesiones posteriores necesitarán una conexión SSH diferente con autenticación. Póngase en contacto con su administrador del servidor ssh si necesita establecer más sesiones no autenticadas simultáneas que las permitidas.

  • Las utilidades de líneas de comando no se pueden configurar para la reutilización de la conexión en el archivo de configuración de Secure Shell. La clave ConnectionReuse en este archivo siempre es ignorada por las utilidades de líneas de comando Secure Shell, incluso cuando se utiliza el modificador -H para especificar un Esquema de configuración SSH SSH que la incluya.