SSH (Secure Shell) es un protocolo de red que permite conectarse de forma segura a un servidor o dispositivo remoto a través de internet o de una red local. Utiliza mecanismos de cifrado y autenticación para proteger la información intercambiada entre ambos equipos.
Es una herramienta ampliamente utilizada por administradores de sistemas, desarrolladores y profesionales que necesitan gestionar servidores Linux, ejecutar comandos o transferir archivos sin acceder físicamente a los equipos.
En este artículo
- ¿Qué es SSH (Secure Shell)?
- ¿Para qué sirve SSH?
- ¿Cómo funciona el protocolo SSH?
- ¿Qué son las claves SSH y cómo funcionan?
- Ventajas de la autenticación con claves SSH
- ¿Cómo conectarse a un servidor mediante SSH?
- ¿Qué puerto utiliza SSH?
- Diferencias entre SSH y Telnet
- Ventajas y limitaciones de utilizar SSH
- Buenas prácticas para utilizar SSH de forma segura
- Preguntas frecuentes sobre SSH
- Conclusión
Por ejemplo, si administras un servidor VPS o un Web Hosting eCommerce en Perú donde está alojada una página web, puedes utilizar SSH para conectarte desde tu computadora, instalar programas, revisar registros del sistema o realizar tareas de mantenimiento.
En este artículo conocerás qué es SSH, cómo funciona, para qué sirve y cómo establecer tu primera conexión de manera segura.
¿Qué es SSH (Secure Shell)?
SSH, abreviatura de Secure Shell, es un protocolo de comunicación que permite acceder y administrar dispositivos de forma remota mediante una conexión cifrada.
Su principal función es proporcionar un canal seguro entre dos equipos, incluso cuando se comunican a través de una red que no es completamente confiable, como internet.
Antes de la adopción de SSH, una de las herramientas utilizadas para acceder remotamente a servidores era Telnet. Sin embargo, Telnet transmite sus comunicaciones sin cifrado, lo que permite que alguien con acceso al tráfico de red pueda leer información sensible.
SSH fue desarrollado para solucionar este problema mediante mecanismos criptográficos que protegen los datos transmitidos.
En una conexión SSH intervienen principalmente dos componentes:
- Cliente SSH: es el programa utilizado desde tu computadora para iniciar una conexión remota.
- Servidor SSH: es el servicio que recibe la solicitud, verifica la autenticación del usuario y permite ejecutar las operaciones autorizadas.
Por ejemplo, puedes abrir la terminal de tu computadora y conectarte a un servidor Linux ubicado en un centro de datos de otra ciudad.
Una vez que la conexión se ha establecido correctamente, podrás administrarlo según los permisos de tu usuario.
Si todavía no tienes claro qué papel desempeña un servidor en el alojamiento de páginas web, puedes revisar nuestra guía sobre cómo funciona un hosting.
¿Para qué sirve SSH?

SSH tiene diferentes aplicaciones relacionadas con la administración de sistemas, el desarrollo de software y la transferencia de información.
Aunque suele asociarse con servidores Linux, también puede utilizarse en otros sistemas operativos y dispositivos compatibles.
Administrar servidores de forma remota
Uno de los usos más frecuentes de SSH es acceder a servidores para realizar tareas administrativas.
Mediante una conexión SSH, un usuario autorizado puede:
- Instalar y actualizar programas.
- Modificar archivos de configuración.
- Consultar registros de errores.
- Supervisar procesos y servicios.
- Revisar el uso de memoria, procesador y almacenamiento.
- Ejecutar scripts de mantenimiento.
- Reiniciar servicios cuando sea necesario.
Por ejemplo, un administrador puede conectarse a un servidor web para comprobar si Apache o Nginx está funcionando correctamente, sin necesitar acceso físico al equipo.
SSH resulta especialmente útil en entornos donde el usuario es responsable de configurar y mantener el sistema operativo.
Esta responsabilidad depende del servicio contratado. En nuestro artículo sobre VPS vs. Cloud Hosting puedes conocer las diferencias entre dos alternativas utilizadas para alojar proyectos web y aplicaciones.
Transferir archivos mediante SFTP y SCP
SSH también permite utilizar herramientas para transferir archivos de forma segura entre computadoras y servidores.
Dos de las más conocidas son:
- SFTP (SSH File Transfer Protocol): permite gestionar y transferir archivos mediante un protocolo que funciona sobre SSH.
- SCP (Secure Copy): es una herramienta utilizada para copiar archivos entre equipos mediante una conexión segura. En implementaciones modernas de OpenSSH, SCP puede utilizar SFTP como protocolo de transferencia subyacente.
Por ejemplo, un desarrollador puede utilizar SFTP para subir archivos de una aplicación a un servidor o descargar registros para analizar un problema.
A diferencia del FTP tradicional sin cifrado, estas herramientas pueden proteger las credenciales y los datos durante la transferencia.
Ejecutar comandos y automatizar tareas
SSH permite ejecutar comandos directamente en un servidor remoto.
Esto facilita la administración de uno o varios equipos sin necesidad de iniciar una sesión gráfica.
Por ejemplo, puedes consultar el espacio disponible en el disco de un servidor con el siguiente comando:
df -h

También puedes utilizar SSH en scripts para automatizar operaciones como despliegues de aplicaciones, comprobaciones de estado o determinadas tareas de mantenimiento.
Para este tipo de automatizaciones es habitual utilizar autenticación mediante claves SSH y configurar permisos específicos para cada usuario.
Crear túneles SSH para conexiones seguras
Otra funcionalidad de SSH es el reenvío de puertos, también conocido como SSH tunneling.
Esta técnica permite transportar determinadas conexiones de red dentro de un canal SSH cifrado.
Por ejemplo, un administrador puede utilizar un túnel SSH para acceder desde su computadora a un servicio interno del servidor, como una base de datos que no está expuesta directamente a internet.
Es importante comprender que un túnel SSH protege el tramo de comunicación transportado por SSH, pero no convierte automáticamente toda la red ni todos los servicios involucrados en entornos seguros.
¿Cómo funciona el protocolo SSH?
Para establecer una conexión segura, SSH utiliza diferentes mecanismos que permiten identificar al servidor, acordar la protección criptográfica de la comunicación y autenticar al usuario.
Aunque internamente intervienen varios procesos, su funcionamiento puede comprenderse en tres etapas principales.
1. Conexión entre cliente y servidor
El proceso comienza cuando un cliente SSH solicita conectarse a un servidor remoto.
Para hacerlo, normalmente necesita conocer:
- La dirección IP o nombre del servidor.
- El nombre de usuario autorizado.
- El puerto donde escucha el servicio SSH.
- El método de autenticación permitido.
El cliente establece una conexión de red con el servidor y ambos comienzan a negociar los mecanismos criptográficos compatibles.
2. Autenticación del servidor y del usuario
Durante el establecimiento de la conexión, SSH utiliza una clave de host para ayudar al cliente a verificar la identidad del servidor.
Esto es importante porque permite detectar posibles intentos de suplantación, siempre que la identidad o huella digital del servidor haya sido verificada mediante una fuente confiable.
Posteriormente, el servidor solicita la autenticación del usuario.
Entre los métodos habituales se encuentran:
- Autenticación mediante contraseña.
- Autenticación mediante claves SSH.
- Otros mecanismos configurados por el administrador del servidor.
Si la autenticación es correcta, el usuario podrá acceder a las funciones autorizadas.
3. Cifrado y protección de la comunicación
SSH utiliza algoritmos criptográficos para establecer claves de sesión y proteger la información intercambiada.
La comunicación queda protegida mediante mecanismos que proporcionan confidencialidad e integridad.
Esto ayuda a impedir que terceros puedan leer los datos transmitidos o modificarlos sin que se detecte la alteración.
Sin embargo, una conexión SSH cifrada no garantiza por sí sola que el servidor sea confiable. Es necesario verificar correctamente la identidad del servidor y proteger las credenciales de acceso.
¿Qué son las claves SSH y cómo funcionan?
Las claves SSH son credenciales criptográficas que pueden utilizarse para autenticar a un usuario sin enviar una contraseña tradicional al servidor.
En este mecanismo se utiliza un par de claves matemáticamente relacionadas: una pública y otra privada.
Diferencias entre clave pública y clave privada
| Clave pública | Clave privada |
|---|---|
| Puede compartirse con el servidor. | Debe mantenerse protegida. |
| Permite verificar operaciones criptográficas realizadas con la clave privada correspondiente. | Permite demostrar que el usuario posee la clave asociada. |
| Se registra entre las claves autorizadas del usuario. | Permanece normalmente en el equipo del usuario. |
| Su divulgación no equivale a entregar acceso a la cuenta. | Su exposición puede comprometer el acceso al servidor. |
Cuando un usuario intenta iniciar sesión mediante este mecanismo, el servidor verifica que dispone de la clave privada correspondiente a una clave pública autorizada.
La clave privada no necesita transmitirse al servidor para completar la autenticación.
Ventajas de la autenticación con claves SSH
La autenticación mediante claves ofrece varias ventajas frente al uso exclusivo de contraseñas:
- Reduce la dependencia de contraseñas que pueden ser adivinadas.
- Facilita la automatización de tareas administrativas.
- Permite asignar credenciales diferentes a distintos usuarios o dispositivos.
- Puede combinarse con frases de contraseña para proteger la clave privada.
No obstante, la seguridad depende de cómo se generan, almacenan y administran estas claves.
Una clave privada robada puede representar un riesgo importante, especialmente si no está protegida con una frase de contraseña.
¿Cómo conectarse a un servidor mediante SSH?

Para conectarte a un servidor mediante SSH necesitas un cliente compatible y contar con acceso autorizado al equipo remoto.
La mayoría de las distribuciones Linux y macOS incluyen un cliente SSH que puede utilizarse desde la terminal. Las versiones modernas de Windows también permiten utilizar OpenSSH.
Qué necesitas antes de establecer la conexión
Antes de comenzar, verifica que tienes:
- La dirección IP o el nombre del servidor.
- Un usuario autorizado.
- La contraseña o clave privada correspondiente.
- El número de puerto SSH configurado.
- El servicio SSH activo y accesible en el servidor.
También es necesario que el firewall y las reglas de red permitan establecer la conexión.
Cómo conectarte desde Windows, Linux o macOS
En Linux y macOS puedes abrir la aplicación Terminal.
En Windows puedes utilizar PowerShell o Windows Terminal si el cliente OpenSSH está instalado.
Una vez abierta la terminal, introduce el comando SSH con el usuario y la dirección del servidor.
Ejemplo básico de conexión SSH
La sintaxis más común es:
ssh usuario@direccion-ip
Por ejemplo:
ssh usuario@192.0.2.10

En este comando:
ssh: ejecuta el cliente SSH.usuario: identifica la cuenta con la que deseas ingresar.192.0.2.10: representa la dirección IP del servidor remoto.
La dirección IP utilizada es únicamente un ejemplo reservado para documentación. Debes reemplazarla por la dirección real de tu servidor.
Si el servicio está configurado en un puerto diferente del predeterminado, puedes indicarlo mediante el parámetro -p:
ssh -p 2222 usuario@192.0.2.10
Cuando establezcas una conexión por primera vez, el cliente puede mostrar la huella digital de la clave del servidor y solicitar que confirmes su identidad.
Antes de aceptarla, compara esa huella con la proporcionada por el administrador o una fuente confiable.
Después, completa la autenticación solicitada.
Si las credenciales son válidas y tienes permiso para acceder, podrás comenzar a ejecutar comandos en el servidor.
¿Qué puerto utiliza SSH?
El protocolo SSH utiliza de manera predeterminada el puerto TCP 22.
Esto significa que, cuando ejecutas un comando SSH sin especificar un puerto diferente, el cliente normalmente intentará conectarse al puerto 22 del servidor.
Sin embargo, el administrador puede configurar el servicio para escuchar en otro puerto.
Por ejemplo:
ssh -p 2222 usuario@192.0.2.10
En este caso, el cliente intentará establecer la conexión mediante el puerto 2222.
Cambiar el puerto predeterminado puede reducir parte del tráfico automatizado dirigido al puerto 22, pero no constituye una medida de seguridad suficiente por sí sola.
La protección del servidor debe incluir controles de autenticación, actualizaciones de seguridad y restricciones de acceso adecuadas.
Diferencias entre SSH y Telnet
SSH y Telnet permiten establecer sesiones remotas, pero existen diferencias importantes en la manera en que protegen la comunicación.
| Característica | SSH | Telnet |
|---|---|---|
| Función principal | Acceso remoto seguro | Acceso remoto tradicional |
| Cifrado | Sí | No, en su forma tradicional |
| Puerto predeterminado | TCP 22 | TCP 23 |
| Autenticación | Contraseña, claves públicas y otros mecanismos | Generalmente credenciales transmitidas sin cifrado |
| Protección del tráfico | Confidencialidad e integridad | Sin protección criptográfica propia |
| Uso recomendado | Administración remota de servidores | Entornos controlados y usos específicos de diagnóstico |
La principal diferencia es que SSH protege la comunicación mediante cifrado, mientras que Telnet tradicional transmite la información en texto claro.
Por este motivo, SSH es la alternativa adecuada para la mayoría de las tareas modernas de administración remota de servidores.
Ventajas y limitaciones de utilizar SSH
SSH ofrece beneficios importantes, pero también requiere una configuración y administración adecuadas.
Ventajas de SSH
1. Comunicación cifrada
Protege los datos intercambiados entre el cliente y el servidor durante la conexión.
2. Administración remota
Permite realizar tareas técnicas sin estar físicamente frente al servidor.
3. Compatibilidad
Está disponible en numerosos sistemas operativos, dispositivos de red y herramientas de administración.
4. Automatización
Puede integrarse con scripts y procesos de despliegue, facilitando la administración de varios servidores.
5. Transferencia segura de archivos
Permite utilizar herramientas como SFTP y SCP para intercambiar información entre equipos.
Limitaciones de SSH
1. Requiere conocimientos técnicos
Aunque realizar una conexión básica es relativamente sencillo, administrar un servidor mediante comandos puede requerir experiencia.
2. Una configuración incorrecta puede generar riesgos
Cuentas con privilegios excesivos, credenciales expuestas o servicios desactualizados pueden comprometer la seguridad.
3. Depende de la conectividad
Si el servidor no está disponible, el servicio SSH está detenido o existe un bloqueo de red, no será posible establecer la conexión.
4. No reemplaza otras medidas de seguridad
SSH no sustituye los respaldos, las actualizaciones del sistema, la gestión de permisos ni el monitoreo del servidor.
Buenas prácticas para utilizar SSH de forma segura
Si utilizas SSH para administrar un servidor, es recomendable implementar medidas que reduzcan los riesgos asociados al acceso remoto.
Utiliza autenticación mediante claves SSH. Siempre que sea posible, configura claves criptográficas para acceder a los servidores y protege las claves privadas con una frase de contraseña.
Limita los usuarios autorizados. Evita otorgar acceso SSH a personas o servicios que no necesitan administrar el sistema.
Aplica el principio de privilegios mínimos. Utiliza cuentas con los permisos estrictamente necesarios para realizar cada tarea.
Mantén actualizado el servicio SSH. Instala las actualizaciones de seguridad correspondientes al sistema operativo y a OpenSSH.
Configura adecuadamente el firewall. Cuando sea viable, restringe las conexiones SSH a direcciones IP o redes autorizadas.
Verifica la identidad del servidor. No aceptes automáticamente claves de host desconocidas ni ignores advertencias sobre cambios inesperados de identidad.
Supervisa los intentos de acceso. Revisa los registros de autenticación para identificar comportamientos anómalos o intentos reiterados de inicio de sesión.
En servidores que utilizan claves SSH y no necesitan autenticación con contraseña, también puede evaluarse deshabilitar este último método, siempre después de comprobar que existe un mecanismo alternativo de acceso y recuperación.
Preguntas frecuentes sobre SSH
¿SSH es lo mismo que SSL?
No. SSH es un protocolo utilizado principalmente para establecer conexiones remotas seguras y ejecutar operaciones sobre servidores.
SSL fue un protocolo criptográfico utilizado para proteger comunicaciones de red y actualmente ha sido reemplazado por TLS.
Aunque ambos conceptos están relacionados con la seguridad de las comunicaciones, funcionan de manera diferente y tienen aplicaciones distintas.
¿Cuál es la diferencia entre SSH y SFTP?
SSH es el protocolo que permite establecer comunicaciones remotas seguras.
SFTP es un protocolo utilizado para transferir y administrar archivos mediante una conexión SSH.
Por tanto, SFTP utiliza SSH como base para proteger la transferencia de información.
¿SSH es gratuito?
El protocolo SSH puede implementarse mediante herramientas gratuitas y de código abierto como OpenSSH.
Sin embargo, algunos programas comerciales de administración remota pueden ofrecer funcionalidades adicionales mediante licencias de pago.
¿Se puede utilizar SSH en un hosting compartido?
Depende del proveedor y del plan contratado.
Algunos servicios de hosting compartido permiten utilizar SSH con permisos limitados, mientras que otros mantienen esta función deshabilitada.
A diferencia de un servidor VPS con acceso administrativo, en un hosting compartido normalmente existen restricciones para modificar componentes del sistema operativo.
¿Es seguro conectarse mediante SSH?
SSH está diseñado para proporcionar comunicaciones cifradas y autenticadas.
Sin embargo, la seguridad real depende de factores como la configuración del servidor, la protección de las credenciales, la verificación de las claves de host y las actualizaciones del software.
Por ello, utilizar SSH es una parte importante de la seguridad de acceso remoto, pero no elimina todos los riesgos.
Conclusión
SSH es una herramienta fundamental para administrar servidores de manera remota mediante conexiones cifradas.
Su utilidad va más allá de ingresar a una terminal: permite ejecutar comandos, automatizar operaciones, transferir archivos de forma segura y establecer túneles para acceder a determinados servicios de red.
Si administras un servidor Linux o trabajas con aplicaciones alojadas en un VPS, comprender qué es SSH y cómo funciona te ayudará a realizar tareas técnicas con mayor control.
Antes de utilizarlo en un entorno de producción, asegúrate de contar con los permisos necesarios, verificar la identidad del servidor y aplicar buenas prácticas de seguridad.


