SSH: Todo sobre el protocolo seguro para administración y acceso remoto

Por Nacho Morato, 28 Mayo, 2025

El universo de la administración remota de servidores y la gestión segura de sistemas ha experimentado una evolución vertiginosa en las últimas décadas. Una de las tecnologías clave que ha impulsado este salto es SSH. Aunque a menudo se le asocia a un entorno técnico o de administradores de sistemas, la realidad es que Secure Shell ha revolucionado la forma en la que innumerables usuarios y empresas gestionan sus infraestructuras, independientemente de su experiencia.

En este artículo vamos a analizar con todo lujo de detalle qué es SSH, cómo funciona, para qué sirve, en qué se diferencia de otros protocolos y por qué se ha consolidado como la opción preferida para trabajar de forma segura con servidores remotos. Si quieres comprender desde las bases criptográficas hasta los casos de uso más avanzados, sigue leyendo: vas a encontrar respuestas a todas tus dudas y aprenderás a valorar la magnitud de lo que este protocolo ha supuesto para la seguridad informática en la era de internet.

¿Qué es SSH?

SSH son las siglas de Secure Shell, un protocolo de red diseñado para administrar y controlar sistemas remotos de manera segura. A través de mecanismos avanzados de cifrado, SSH permite establecer una comunicación confidencial entre dos dispositivos —como un terminal de usuario y un servidor remoto— evitando que terceras personas intercepten, modifiquen o utilicen información sensible.

El nacimiento de SSH se remonta a los años 90, cuando la inseguridad de los protocolos como Telnet, Rlogin o FTP —que transmitían datos en texto plano— suponía un grave riesgo para el acceso remoto y la gestión de servidores. Tatu Ylönen, un investigador finlandés, fue quien impulsó la primera versión pública, sentando las bases para reemplazar métodos inseguros por una solución robusta, fiable y fácilmente adoptable.

La clave del éxito de SSH es su versatilidad. No solo permite conectarse a una máquina remota para ejecutar comandos —algo esencial para cualquier administrador de sistemas— sino que también posibilita transferencia de archivos cifrados, creación de túneles seguros para otras aplicaciones, automatización de scripts y el control de dispositivos de red, entre otras muchas aplicaciones.

¿Cómo funciona el protocolo SSH?

SSH se fundamenta en una arquitectura cliente-servidor. Esto significa que, para establecer una sesión segura, un ordenador actúa como cliente —desde el que se realiza la conexión— y otro como servidor —el que recibe y autoriza o deniega el acceso.

Cuando se inicia una conexión SSH desde el cliente, este se comunica con el puerto 22 del servidor (por defecto; aunque puede configurarse otro puerto para mayor seguridad). El proceso de establecimiento de la conexión implica varios pasos esenciales:

  • Negociación del protocolo y cifrado: Ambos extremos acuerdan el conjunto de algoritmos de cifrado y autenticación que van a utilizar. Este primer paso es fundamental para garantizar que la conversación posterior estará blindada ante cualquier intento de interceptación.
  • Autenticación del usuario: Una vez asegurado el canal, el usuario debe identificarse ante el servidor. Lo más habitual es utilizar una combinación de nombre de usuario y contraseña, pero el método más robusto es el uso de claves criptográficas (SSH keys).
  • Establecimiento del canal seguro: Tras verificar la identidad, se establece la sesión SSH, por la que se podrán ejecutar comandos, transferir archivos o gestionar el sistema remoto de forma segura.

Cada una de estas etapas está protegida por métodos criptográficos que explicaremos más adelante en profundidad.

Propósito y usos principales de SSH

SSH está estrechamente vinculado al mundo de la administración de servidores Linux y Unix, pero sus posibilidades van mucho más allá. A continuación se recogen sus aplicaciones más frecuentes:

  • Acceso remoto seguro a servidores: La funcionalidad más conocida. Permite gestionar servidores desde cualquier sitio, sin necesidad de estar físicamente presentes, facilitando tareas de mantenimiento, actualización, resolución de incidencias y automatización.
  • Transferencia cifrada de archivos: Herramientas como SCP y SFTP (ambas basadas en SSH) garantizan el envío y recepción de datos sin exponerlos a posibles interceptaciones.
  • Túneles SSH: SSH permite crear ‘túneles’ o canales cifrados para redirigir tráfico de otras aplicaciones inseguras (como VNC, RDP, o el acceso a bases de datos internas), evitando así la necesidad de dejar expuestos servicios críticos a internet.
  • Automatización y scripts: SSH es la base de muchas herramientas de orquestación (como Ansible) y scripts que requieren ejecutar acciones en múltiples servidores de forma desatendida.
  • Gestión de dispositivos de red: Muchos routers, switches y firewalls soportan SSH como método predilecto para configuración y diagnóstico remoto, eliminando los riesgos asociados a Telnet o protocolos inseguros.

La combinación de seguridad, versatilidad y facilidad de integración convierte a SSH en un estándar universal para la administración de infraestructuras IT.

Principales ventajas de SSH frente a otros protocolos

La superioridad de SSH reside en su enfoque integral de la seguridad y la administración remota. Vamos a repasar los principales motivos por los que se ha convertido en la referencia absoluta:

  • Cifrado de extremo a extremo: Tanto los datos transmitidos como las credenciales se encriptan, evitando espionaje o manipulación.
  • Autenticación robusta: Más allá de las contraseñas, el uso de claves públicas y privadas permite implementar autenticación sin compartir secretos fácilmente vulnerables.
  • Integridad y verificación: Mediante técnicas de hashing, se verifica que los datos no se alteren durante la transmisión y que nadie suplante al servidor legítimo.
  • Automatización y control: SSH se integra perfectamente con herramientas de gestión remota y scripts, posibilitando la automatización de tareas (instalación de software, despliegue de actualizaciones, backups, monitorización, etc.) sin intervención manual.
  • Evita ataques de intermediario (Man-in-the-Middle): Gracias al intercambio de claves y la comprobación de huellas digitales (fingerprints), SSH alerta ante cualquier intento de suplantación del servidor.
  • Control de accesos y trazabilidad: Los administradores pueden asignar claves por usuario, auditar accesos y revocar permisos de forma centralizada, lo cual es esencial en entornos corporativos o en la nube.

En comparación con Telnet, FTP o RSH, que transmiten información en texto plano y carecen de mecanismos avanzados de protección, SSH es la alternativa imprescindible para cualquier organización que valore la confidencialidad y la integridad de sus operaciones.

Sistemas de cifrado en SSH

El corazón técnico de SSH está en su enfoque multicapa de la criptografía. Para asegurar la privacidad y la integridad de las comunicaciones, emplea simultáneamente varios sistemas y algoritmos. Los tres pilares fundamentales son el cifrado simétrico, el cifrado asimétrico y el hashing.

Cifrado simétrico

El cifrado simétrico es el método más utilizado en las sesiones SSH. Consiste en emplear una clave secreta compartida entre cliente y servidor, que sirve tanto para cifrar como para descifrar los mensajes durante la sesión. Lo verdaderamente interesante es que, para evitar que esta clave sea interceptada en el proceso de negociación, nunca se transmite directamente. En su lugar, ambos extremos la generan de forma independiente usando algoritmos de intercambio seguros, como el famoso Diffie-Hellman.

Ventajas: El cifrado simétrico ofrece rapidez y eficiencia, siendo ideal para transmitir grandes volúmenes de datos a lo largo de una conexión establecida.

Ejemplos de algoritmos de cifrado simétrico: AES (Advanced Encryption Standard), DES, 3DES, RC4, CAST128 y Blowfish. Este tipo de cifrado es elegido dinámicamente al negociar la sesión, seleccionándose el más fuerte soportado por ambas partes.

Cifrado asimétrico

En el cifrado asimétrico cada parte utiliza un par de claves: una pública y una privada. La clave pública se comparte y sirve para cifrar información, mientras que la clave privada (que nunca debe ser revelada) se utiliza para descifrar. La base está en que lo que se cifra con la clave pública sólo puede ser descifrado con su pareja privada, y viceversa.

La función principal del cifrado asimétrico en SSH es la autenticación y el intercambio de claves seguras. Por ejemplo, cuando un cliente inicia conexión, puede usar la clave pública del servidor para cifrar un mensaje; solo el servidor, con su clave privada, podrá descifrarlo, probando su identidad. Del mismo modo, para autenticación sin contraseñas, el usuario puede firmar un reto del servidor con su clave privada, que el servidor verifica con la clave pública almacenada.

Ventajas: El cifrado asimétrico hace posible la autenticación fuerte, elimina la necesidad de compartir contraseñas y está en el núcleo del sistema de claves SSH.

Ejemplos de algoritmos de cifrado asimétrico: RSA, ECDSA, ED25519, DSA.

Hashing

El hashing es una función unidireccional con la que se obtiene un valor resumen o huella digital a partir de una entrada de datos. Su objetivo no es cifrar, sino verificar que la información no ha sido alterada durante el tránsito.

En SSH, los algoritmos de hashing se emplean para múltiples finalidades:

  • Verificar la integridad de los datos: Cualquier cambio en el mensaje original provoca que el hash calculado al llegar no coincida, alertando de manipulación o error.
  • Firmas digitales y autenticación: El hash se utiliza para construir firmas digitales, imprescindibles en la autenticación mediante claves.
  • Verificación de huellas de servidor: El fingerprint que se ve al conectar por primera vez a un servidor es, precisamente, una huella digital generada mediante hashing.

Ejemplos de algoritmos de hashing en SSH: SHA-1, SHA-2, MD5, aunque los algoritmos más antiguos están siendo reemplazados por opciones más robustas debido al avance en ataques criptográficos.

Etapas detalladas de una conexión SSH

1. Negociación de la sesión y algoritmos de cifrado

Cuando se inicia una conexión SSH, servidor y cliente intercambian listas de protocolos soportados. El objetivo es seleccionar el algoritmo de cifrado, autenticación y compresión más fuerte que ambos puedan manejar. Durante esta fase, se utiliza el algoritmo de intercambio de claves Diffie-Hellman para acordar la clave simétrica que blindará todo el canal de comunicación.

Un aspecto curioso es que, incluso si un atacante intercepta este proceso, los datos compartidos públicamente no son suficientes para reconstruir la clave privada que protegerá los datos durante la sesión. Así se previenen ataques de espionaje incluso en redes inseguras.

2. Autenticación del usuario

Una vez fijado el canal cifrado, el usuario debe identificarse ante el servidor SSH. Hay dos métodos principales:

  • Contraseña: El usuario introduce su contraseña, que viaja cifrada por el canal seguro, evitando que pueda ser interceptada. Aún así, hoy en día se considera una opción menos segura y se recomienda evitar contraseñas débiles o reutilizadas.
  • Clave pública (SSH Key): El usuario cuenta con un par de claves: la pública (almacenada previamente en el servidor) y la privada (guardada de forma segura en el dispositivo cliente). Cuando el servidor solicita autenticación, envía un reto que solo puede ser firmado con la clave privada correspondiente. Este método es considerablemente más seguro y recomendable, especialmente para accesos críticos o automatizados.

Se puede reforzar aún más la autenticación mediante la combinación de claves SSH con contraseñas, sistemas de doble factor o módulos PAM.

Transferencia de archivos cifrada: SCP y SFTP

SSH va mucho más allá de la simple ejecución de comandos remotos: permite transferir archivos de manera segura entre equipos.

Las dos utilidades más empleadas son:

  • SCP (Secure Copy Protocol): Permite copiar archivos y carpetas entre el dispositivo local y el servidor remoto por línea de comandos, asegurando que toda la transmisión esté cifrada y protegida ante accesos no autorizados.
  • SFTP (SSH File Transfer Protocol): Es una alternativa avanzada que, además de transferencias, facilita la gestión de archivos remotos (listar directorios, mover, borrar, cambiar permisos, etc.) dentro de un canal SSH. Ofrece una experiencia similar a FTP pero con la seguridad añadida del cifrado.

Estas utilidades son especialmente apreciadas por administradores de sistemas y desarrolladores que necesitan mover datos entre servidores sin riesgos de exposición.

Túneles SSH y reenvío de puertos

SSH permite crear verdaderos pasadizos secretos en la red gracias a su función de ‘túnel seguro’ o port forwarding.

Esto tiene múltiples aplicaciones:

  • Acceso seguro a servicios internos: Permite acceder a bases de datos, paneles de administración u otros recursos que, de otro modo, no deberían estar expuestos directamente en Internet.
  • Cifrado de conexiones para aplicaciones inseguras: SSH puede encapsular el tráfico de herramientas que no soportan cifrado nativo, como VNC o RDP, reforzando la seguridad en conexiones remotas.
  • Bypass de restricciones de red: Los túneles SSH permiten el acceso a servidores en entornos restringidos o tras firewalls sin abrir puertos adicionales ni exponer servicios.
  • Conexiones similares a una VPN ligera: Aunque SSH y VPN son tecnologías diferentes, usando SSH puedes simular una red interna para determinados servicios, sin la complejidad de una VPN completa.

SSH en la nube y la era del desarrollo web moderno

Con la migración masiva a infraestructuras cloud, el rol de SSH se ha vuelto aún más estratégico. Los servicios en la nube permiten desplegar servidores y acceder a ellos desde cualquier lugar, pero esto también incrementa el riesgo: un fallo en el control de accesos puede poner en peligro información sensible o todo un proyecto.

Algunas buenas prácticas esenciales en entornos cloud incluyen:

  • Uso exclusivo de claves SSH para acceso: Las contraseñas deben estar deshabilitadas siempre que sea posible, minimizando el riesgo de ataques de fuerza bruta.
  • Gestión centralizada de claves y permisos: Cada usuario o servicio debe tener su propia clave, facilitando su revocación individual y el control de auditoría.
  • Restricción de accesos mediante firewalls o reglas de seguridad (Security Groups): Solo IPs autorizadas deberían poder conectarse por SSH a los servidores.
  • Auditoría y registro detallado de accesos: Los logs de SSH permiten detectar posibles accesos sospechosos o actividades anómalas.

Muchas herramientas de despliegue automático e integración continua, como Altium 365 o Active Directory en Windows 10, utilizan SSH como capa de autenticación y cifrado base para implementar aplicaciones en múltiples servidores de forma eficiente.

Configuración de servidores y clientes SSH

Instalar y configurar servidor SSH en Linux

En la mayoría de sistemas Linux, el servidor SSH (OpenSSH) viene instalado por defecto. Si no es así, puede instalarse fácilmente con el gestor de paquetes:

sudo apt update
sudo apt install openssh-server

Después de la instalación, el servicio suele arrancar automáticamente y escucha en el puerto 22. Para personalizar la configuración, como cambiar el puerto predeterminado o restringir accesos por usuario, basta con editar el archivo /etc/ssh/sshd_config y reiniciar el servicio.

Modificar el puerto SSH

Cambiar el puerto por defecto es una medida básica para reducir el número de ataques automáticos. Basta con actualizar la línea Port en sshd_config y reiniciar el servicio. Recuerda abrir el nuevo puerto en el firewall.

Conectar a un servidor SSH

El comando general para conectar es:

ssh usuario@servidor_direccion_ip

Si usas un puerto distinto:

ssh usuario@servidor_direccion_ip -p NUEVO_PUERTO

Para autenticación mediante clave, añade el parámetro -i ruta_a_clave_privada.

Principales comandos SSH y utilidades asociadas

Además de la conexión básica, SSH permite ejecutar una gran variedad de acciones que facilitan la administración remota y la gestión avanzada de servidores.

  • ssh: Conectar a un servidor remoto y obtener una shell para ejecutar comandos interactivamente.
  • scp: Copiar archivos entre el equipo local y el servidor remoto o entre dos servidores, siempre con cifrado SSL/TLS.
  • sftp: Gestionar archivos, directorios y permisos de manera interactiva sobre SSH.
  • ssh-keygen: Generar y gestionar pares de claves públicas y privadas.
  • ssh-agent: Administrar claves privadas en memoria, evitando tener que introducir la contraseña cada vez.

Herramientas gráficas para conexiones SSH

No toda la gestión SSH requiere dominar la terminal; existen utilidades gráficas que simplifican enormemente la experiencia, especialmente en entornos Windows.

  • PuTTY: El cliente SSH gráfico por antonomasia en Windows, fácil de usar, portable y compatible con múltiples protocolos.
  • WinSCP: Especializado en transferencias de archivos y gestión remota, con una interfaz intuitiva similar al explorador de Windows e integración con PuTTY.
  • MobaXterm: Una solución todo-en-uno con soporte multi-pestaña, servidor X, utilidades de red y gestión avanzada de túneles.
  • Termius: Cliente SSH multiplataforma, con sincronización de perfiles en la nube y autocompletado inteligente de comandos.
  • Cyberduck: Orientado a transferencia de archivos mediante SFTP/SCP, disponible tanto en Windows como en macOS, con integración directa a editores externos.

La elección de la herramienta dependerá de la necesidad específica, el sistema operativo y el perfil del usuario.

Buenas prácticas y medidas extra de seguridad con SSH

La flexibilidad y potencia de SSH obligan a adoptar ciertas precauciones para evitar posibles vulnerabilidades:

  • Deshabilitar el acceso root directo: Es recomendable forzar el acceso inicial con usuarios no privilegiados y emplear sudo para tareas administrativas.
  • Inhabilitar la autenticación por contraseña: Solo usar claves SSH o autenticación de doble factor.
  • Restringir el acceso por IP: A través de firewalls o sistemas de seguridad de la nube, limitar el rango de direcciones desde las que se acepta la conexión SSH.
  • Rotar y auditar las claves: Eliminar las claves públicas no utilizadas y llevar un registro de accesos.
  • Actualizar frecuentemente el servidor SSH: Para mitigar vulnerabilidades conocidas y beneficiarse de nuevas funcionalidades.

[relacionado url="https://www.polimetro.com/instalar-virtualbox-extension-pack/"]

Preguntas frecuentes sobre SSH

  • ¿Puedo usar SSH en Windows? Sí, aunque tradicionalmente era más común en sistemas Unix y Linux, hoy en día Windows incluye soporte nativo para OpenSSH y existen numerosos clientes gráficos.
  • ¿SSH y VPN son lo mismo? No. Aunque ambos permiten seguridad y cifrado, SSH se orienta a el acceso remoto y transferencia de archivos, mientras que una VPN crea una red privada virtual completa entre dos redes.
  • ¿Cuál es la diferencia entre SCP y SFTP? SCP es más simple y rápido, ideal para transferencias puntuales por consola. SFTP, en cambio, ofrece funcionalidades extra como gestión de directorios, cambio de permisos y navegación interactiva.
  • ¿Es seguro dejar el puerto SSH abierto en Internet? En sí mismo, SSH es seguro, pero es recomendable restringir el acceso a direcciones IP concretas y cambiar el puerto por defecto si es posible, además de usar claves y doble factor.
  • ¿Qué hago si pierdo mi clave SSH privada? Es fundamental regenerar el par de claves y eliminar la clave pública filtrada en el servidor. Una clave privada expuesta compromete la seguridad de todos los sistemas a los que daba acceso.

Organizaciones cada vez confían más en SSH para proteger su infraestructura digital y acceder a sistemas críticos desde cualquier parte del mundo. Su capacidad para combinar seguridad, autenticación fuerte, flexibilidad y automación lo han convertido, por méritos propios, en el estándar de facto para la administración remota y la transferencia segura de archivos. Comprender en profundidad cómo funciona SSH, sus técnicas de cifrado y sus diferentes aplicaciones, es clave para cualquier profesional o usuario que aspire a gestionar recursos remotos con garantías y sin complicaciones.

 

Etiquetas

Comentarios