Secure Shell (SSH) es un protocolo de red criptográfico que autentica y cifra las sesiones entre un cliente y un servidor remoto, sustituyendo a protocolos poco seguros como Telnet y rlogin. Los administradores utilizan SSH para acceder a la línea de comandos, ejecutar comandos de forma remota y transferir archivos mediante claves, sin necesidad de contraseñas, a través de redes no fiables, como Internet.
Puntos clave
- SSH cifra y autentica las sesiones remotas de línea de comandos y de transferencia de archivos.
- La autenticación mediante clave pública es más segura que las contraseñas y permite la automatización.
- SSH-2 sustituyó a la versión del protocolo SSH-1, que era insegura y estaba obsoleta.
- Reforzar la seguridad de SSH implica desactivar los algoritmos de cifrado débiles, los puertos y las cuentas predeterminadas.
- Versa El Director y los dispositivos VOS utilizan SSH para el acceso administrativo a la interfaz de línea de comandos.
En esta página: Por qué es importanteCómo funcionaTiposSSH y VersaPreguntas frecuentes
¿Por qué es importante SSH?
Antes de SSH, los administradores se conectaban a sistemas remotos mediante Telnet, rlogin y rsh, protocolos que enviaban los nombres de usuario, las contraseñas y cada pulsación de tecla en texto sin cifrar. Cualquiera que observara la ruta de red podía capturar las credenciales o secuestrar una sesión. SSH sustituyó a estos tres protocolos al cifrar toda la sesión y verificar la identidad tanto del servidor como del cliente, razón por la cual se convirtió en la forma predeterminada de gestionar servidores, dispositivos de red e instancias en la nube.
Su importancia persiste porque la administración remota atraviesa constantemente redes no fiables. La autenticación mediante clave pública de SSH también eliminó las contraseñas de las operaciones rutinarias, lo que permite que los inicios de sesión automatizados mediante scripts y las herramientas de gestión de la configuración se autentiquen sin que un usuario tenga que introducir manualmente una credencial. Casi todos los sistemas operativos de red, distribuciones de Linux y plataformas en la nube incluyen un servidor o cliente SSH, lo que convierte las prácticas recomendadas de SSH —gestión de claves, selección de cifrado, restricción de acceso— en una parte fundamental de cualquier conjunto de medidas básicas de refuerzo de la seguridad.
¿Qué es SSH?
SSH se compone de tres capas que funcionan de forma coordinada. El protocolo de la capa de transporte establece el canal cifrado: el cliente y el servidor negocian los algoritmos de cifrado, intercambian una clave de host para que el cliente pueda verificar que se está comunicando con el servidor auténtico y derivan las claves de sesión. A continuación, el Protocolo de Autenticación de Usuario verifica la identidad del cliente —mediante contraseña, un par de claves pública y privada, o a través de métodos como la autenticación interactiva por teclado o basada en el servidor—. Una vez autenticado, el Protocolo de Conexión multiplexa el canal cifrado en flujos lógicos: un shell interactivo, un único comando remoto, puertos TCP reenviados o un subsistema de transferencia de archivos.
Se recomienda la autenticación mediante clave pública: el usuario genera un par de claves, coloca la clave pública en el servidor y mantiene la clave privada en secreto. El servidor solicita al cliente que demuestre que posee la clave privada correspondiente, por lo que no se transmite ninguna contraseña por la red. Este mismo mecanismo es la base de las transferencias de archivos SFTP y SCP, que se ejecutan como subsistemas dentro de una sesión SSH en lugar de como protocolos independientes.
Tipos de SSH
Existen dos versiones del protocolo. SSH-1 presenta debilidades criptográficas conocidas y se considera obsoleto; prácticamente todas las implementaciones modernas utilizan SSH-2, un protocolo rediseñado y más seguro que constituye la base de todas las implementaciones actuales, incluido OpenSSH.
Dentro de SSH-2 coexisten varios métodos de autenticación: la autenticación por contraseña (la más sencilla, pero la más vulnerable frente a los ataques automatizados), la autenticación por clave pública (la predeterminada recomendada), la autenticación interactiva por teclado (esquemas de desafío-respuesta, como los códigos de acceso de un solo uso) y la autenticación basada en el host (que confía en el equipo cliente en lugar de en el usuario). La capa del protocolo de conexión también define distintos tipos de canales: sesiones de shell interactivas, ejecución de un único comando remoto, reenvío de puertos TCP (tunelización de otro tráfico a través de la sesión cifrada) y los subsistemasSFTP/SCP para la transferencia de archivos. La elección del algoritmo de cifrado, MAC e intercambio de claves —cifrados AES-GCM, MAC basados en SHA-2, intercambio de claves curve25519— determina la solidez criptográfica de una sesión determinada.
SSH y Versa
SSH es la vía principal de acceso administrativo a los dispositivos Director y VOS de Versa , y Versa Networks lo considera una superficie de refuerzo de seguridad. Los dispositivos se suministran con una configuración predeterminada admin Usuario SSH; el Usuario predeterminado de SSH Esta función permite al operador designar un usuario predeterminado diferente, con su propia clave pública SSH, tras lo cual se desactiva el inicio de sesión de administrador.
Configuración manual de la seguridad para sucursales, controladores y concentradores y Configuración manual de « Versa Director» Ambos dedican una sección a SSH: cambiar el puerto predeterminado (que no es el 22), desactivar el demonio SSH cuando no sea necesario y configurar Ciphers, MACs, y KexAlgorithms en sshd_config a algoritmos modernos y homologados. Las versiones posteriores de VOS admiten un comando de lista de acceso para restringir el uso de SSH, REST y NETCONF a direcciones IP específicas, y la interfaz de usuario de Director ofrece controles de las sesiones SSH: «Intervalo de actividad del cliente», «Número máximo de inicios de sesión simultáneos» y «Tiempo de gracia de inicio de sesión».
Preguntas frecuentes
¿Cuál es la diferencia entre SSH-1 y SSH-2?
SSH-1 presenta debilidades conocidas de diseño y criptográficas, y ha quedado obsoleto. SSH-2 es un rediseño completo que incorpora algoritmos más robustos, mejores comprobaciones de integridad y compatibilidad con múltiples métodos de autenticación y tipos de canal. Todas las implementaciones actuales de SSH, incluida OpenSSH, utilizan exclusivamente SSH-2.
¿Qué es la autenticación por clave pública de SSH?
Un usuario genera un par de claves pública y privada, coloca la clave pública en el servidor y mantiene la clave privada en secreto. El servidor envía un desafío criptográfico al que solo la clave privada correspondiente puede responder, por lo que la autenticación se lleva a cabo sin que la contraseña circule por la red en ningún momento, y además puede automatizarse.
¿Qué es el reenvío de puertos SSH?
El reenvío de puertos, o «tunneling», redirige el tráfico de otra aplicación a través de una sesión SSH cifrada y ya establecida. El reenvío local expone un servicio remoto en el equipo del cliente; el reenvío remoto hace lo contrario. Se utiliza habitualmente para acceder a servicios a los que, de otro modo, no se podría acceder desde la red.
¿Qué es el SFTP y qué relación tiene con el SSH?
El SFTP (Protocolo de transferencia de archivos SSH) es un subsistema que se ejecuta dentro de una sesión SSH autenticada, lo que le confiere el mismo cifrado y la misma autenticación basada en claves que un shell interactivo. Sustituyó a los antiguos protocolos de transferencia de texto sin cifrar, como el FTP, para la transferencia segura de archivos.
¿Qué algoritmos criptográficos de SSH se deben configurar para reforzar la seguridad?
Las directrices sobre el endurecimiento establecen valores modernos para sshd_configlos campos «Ciphers», «MACs» y «KexAlgorithms» —por ejemplo, los cifrados AES-GCM, los HMAC basados en SHA-2 y el intercambio de claves curve25519— y elimina los algoritmos obsoletos a los que, de otro modo, los clientes menos seguros podrían recurrir.
Más información sobre SSH
Si quieres saber más, estas son algunas fuentes en las que confiamos.
| RFC 4251: Arquitectura del protocolo SSH | RFC 4253: Protocolo de la capa de transporte de SSH |
|---|---|
| El documento de la IETF que define la arquitectura general de SSH, sus protocolos por capas y sus objetivos de diseño. | El estándar de la capa de transporte: autenticación del servidor, cifrado e integridad del canal SSH subyacente. |
Términos relacionados
Si estás leyendo sobre SSH, te recomiendo que eches un vistazo a lo siguiente.
| Seguridad del Protocolo de Internet | Protocolo de Conexión Segura (SSL) | Sistema de Nombres de Dominio |
|---|---|---|
| El conjunto de protocolos que utiliza Versa para cifrar los túneles SD-WAN y de sitio a sitio, además del papel que desempeña SSH en el cifrado de las sesiones de administración. | Otro protocolo de cifrado de transporte: SSL/TLS protege el tráfico web y de aplicaciones, mientras que SSH protege las sesiones de shell y de transferencia de archivos. | El servicio de nombres del que dependen los clientes SSH y los dispositivos Versa para resolver los nombres de host antes de establecer una sesión. |