Opciones de Configuración en tu Cliente SSH

,
Opciones de configuración en clientes SSH

En este artículo aprenderás algunos ajustes que puedes realizar en tu cliente SSH.

Definiendo la información de conexión a un servidor

En tu computadora local, puedes definir algunas configuraciones individuales o para todos los servidores que deseas conectarte. Estas configuraciones deben ser almacenadas en el archivo “~/.ssh/config”, el cual es leído por el cliente SSH cada vez que es ejecutado.

Primeramente, crea o edita el archivo anterior en tu PC:

Dentro, puedes definir configuraciones específicas mediante la directiva Host, seguido de un alias. Para más información puedes consultar el manual de ssh_config:

Un ejemplo típico puede ser:

La configuración anterior te permite conectarte al servidor serv.midominio.com, mediante el usuario usuario1 y al puerto 2442, simplemente escribiendo:

Puedes emplear además wildcards para aplicar las configuraciones a todos los servidores que deseas conectarte. Debes tener presente que las definiciones de hosts se aplican de arriba hacia abajo, por lo que las definiciones de más abajo pueden sobrescribir a las primeras. Por ejemplo, puedes denegar el acceso de reenvío de X para todas las conexiones que hagas y permitirlo para un host específico:

Evitando el tiempo de inactividad (Timeout) en las conexiones SSH

Seguramente has notado que, en ocasiones, después de un tiempo sin actividad, la sesión SSH se congela o se desconecta. Esto se debe a que muchos ISP cierran las conexiones SSH por inactividad. Puedes configurar tu cliente SSH para que envíe un paquete al servidor cada cierto tiempo con el objetivo de evitar esto. Solo necesitas editar el archivo de configuración de tu cliente SSH de la siguiente forma:

Luego, debes especificar para todos los hosts la directiva “ServerAliveInterval 120”. Con esto logras que cada dos minutos se envíe un paquete al servidor remoto:

Desactivando el Chequeo de Host

Por defecto, cada vez que estableces una conexión a un servidor, puedes ver el fingerprint de la llave de ese servidor remoto.

Esto permite verificar la autenticidad del servidor remoto y te permite conocer si hay un usuario malicioso que está suplantando la identidad de tu servidor remoto. En ocasiones te puede resultar útil desactivar esto, pero debes tener en cuenta que puede ser un riesgo grande de seguridad.

Para desactivar el chequeo de hosts, edita el archivo de configuración del cliente SSH: “~/.ssh/config” y ajusta la configuración como se muestra a continuación¨:

Al definir “StrictHostKeyChecking no”, los nuevos hosts serán agregados “know_hosts” sin preguntar. Mientras que “UserKnownHostsFile /dev/null” no muestra alertas cada vez que un nuevo host es agregado o cambiado.

Para activar el comportamiento por defecto, basta con definir “StrictHostKeyChecking ask” en la entrada del host deseado:

Multiplexando SSH sobre una sola conexión TCP

Existen situaciones donde establecer una nueva conexión TCP puede tomar más tiempo del deseado. Si estás estableciendo múltiples conexiones al mismo servidor, puedes hacer uso del multiplexado. El multiplexado de SSH reúsa la misma conexión TCP para múltiples sesiones SSH. Esto elimina algo del trabajo necesario para establecer una nueva sesión, posiblemente acelerando las cosas un poco.

Para establecer el multiplexado, puedes de forma manual configurar las conexiones o puedes configurar tu cliente para que automáticamente use el multiplexado cuando esté disponible. Para la configuración de la segunda opción usa esto:

La directiva “ControlMaster” debe establecerse a “auto” para activar el multiplexado siempre y cuando sea posible. La directiva “ControlPath” establecerá el camino del socket de control. La primera sesión establecida creará dicho socket y las sesiones subsecuentes serán capaces de encontrarlo, ya que está etiquetado por nombre de usuario, host y puerto.

Al establecer la directiva “ControlPersist” a “1” permitirá que la conexión inicial esté en segundo plano. El número 1, indica que la conexión TCP debe terminar automáticamente un segundo después de que la conexión SSH sea cerrada.

Finalmente debes crear el directorio especificado en la directiva “ControlPath”:

Si por alguna razón necesitar evitar la configuración de multiplexado temporalmente, puedes hacerlo de esta manera:

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *