coldwa.st
Todas las guíasProgramaciónWebDatosHerramientasBases de datosHaskellConceptosCabal y buildsToolchainCompiladorRendimientoEditor y HLS

Programación · Servidores · seguridad

¿Qué es SSH?

Por ColdwastActualizado el 22 jun 20268 min de lectura#ssh#servers#security
Líneas de código fuente y un puerto de red mostrados en una pantalla oscura
SSH es la forma estándar en que los desarrolladores abren una sesión segura y cifrada en una máquina remota y trabajan en ella como si estuvieran sentados delante.

En cuanto alquilas un VPS o despliegas en un servidor remoto, te topas con la misma pregunta: ¿cómo inicias sesión y ejecutas comandos de verdad en una máquina que vive en un centro de datos? La respuesta es casi siempre SSH. Esta guía explica qué es SSH, cómo mantiene tu sesión a salvo, y el puñado de comandos que de verdad necesitas.

La definición corta

SSH — Secure Shell — es un protocolo para iniciar sesión en un ordenador remoto y ejecutar comandos sobre una conexión cifrada. Te da un terminal en una máquina que está en otro sitio, como si la tuvieras delante, y cifra todo lo que pasa entre tú y el servidor. Ese cifrado es el objetivo principal: sustituyó a herramientas más antiguas como Telnet, que enviaba las contraseñas y los comandos en texto plano para que cualquiera en la red los leyera.

Cómo funciona SSH

Cuando te conectas, tu cliente SSH y el servidor hacen un breve handshake. Se ponen de acuerdo sobre los ajustes de cifrado y establecen una clave secreta compartida, de modo que el resto de la sesión es privada. El servidor también demuestra su identidad con su propia clave, por eso tu cliente te avisa la primera vez que ve un servidor nuevo. Después te autenticas — demuestras quién eres — y obtienes un prompt en la máquina remota. A partir de ahí, cada pulsación y cada respuesta van cifradas.

Un armario de servidores lleno de cables de red y latiguillos
SSH es como llegas a servidores como estos. Te conectas desde tu portátil y controlas la máquina remota por un canal cifrado.

Contraseñas vs claves SSH

Puedes iniciar sesión de dos maneras. Una contraseña es simple pero más débil: se puede adivinar o atacar por fuerza bruta, y los bots lo intentan en servidores públicos todo el día. Las claves SSH son la mejor opción. Generas un par de archivos: una clave privada que se queda en tu ordenador, y una clave pública que copias al servidor. El servidor solo te deja entrar si tu clave privada coincide, y la clave privada nunca sale de tu máquina. Las claves son a la vez más seguras y más cómodas, ya que te ahorras escribir una contraseña cada vez.

Los comandos que de verdad usas

  • Conectarte: ssh user@server-address abre una sesión en la máquina remota.
  • Crear un par de claves: ssh-keygen crea tus claves privada y pública.
  • Copiar tu clave a un servidor: ssh-copy-id user@server-address configura el inicio de sesión por clave.
  • Copiar archivos: scp file user@server:/path mueve archivos por el mismo canal seguro.

Esos cuatro cubren casi todo el trabajo del día a día. Te conectas, gestionas tus contenedores o tu código, y mueves archivos de un lado a otro, todo cifrado.

Dónde te encuentras con SSH

SSH está en todas partes en el desarrollo. Lo usas para gestionar un VPS o servidor cloud, para subir y bajar código con Git por SSH, para desplegar apps, y para tunelizar una conexión de forma segura. Si una tarea implica una máquina remota, SSH suele ser como llegas a ella. Aprenderlo una vez compensa en cada servidor que toques.

Los compromisos honestos

SSH es seguro, pero la seguridad sigue dependiendo de ti. Dejar el inicio de sesión por contraseña activo, o exponer el puerto por defecto con una contraseña débil, es como se entra a robar en los servidores. La configuración segura es bien conocida: usa claves SSH, desactiva el inicio de sesión por contraseña, y mantén protegida tu clave privada. Para los principiantes, la línea de comandos también es un obstáculo al principio. Pero lo básico se aprende rápido, y esa habilidad sirve para cada servidor y plataforma cloud que vayas a usar.

Preguntas frecuentes

¿Qué es SSH en términos simples?

SSH, o Secure Shell, es una forma de iniciar sesión en un ordenador que está en otro sitio y ejecutar comandos en él sobre una conexión cifrada. Te da un terminal en una máquina remota como si la tuvieras delante, mientras cifra todo lo que se envía entre tú y el servidor para que nadie en la red lo pueda leer.

¿Cuál es la diferencia entre una contraseña SSH y una clave SSH?

Una contraseña es un secreto que escribes, y los bots la pueden adivinar o atacar por fuerza bruta. Una clave SSH es un par de archivos: una clave privada guardada en tu máquina y una clave pública colocada en el servidor. Solo entras si coinciden, y la clave privada nunca sale de tu ordenador, lo que hace que las claves sean a la vez más seguras y más cómodas que las contraseñas.

¿Qué puerto usa SSH?

SSH usa por defecto el puerto TCP 22. Algunos administradores lo cambian a otro puerto para reducir los intentos de inicio de sesión automatizados, pero eso es un pequeño obstáculo, no seguridad real. Las protecciones de verdad son usar claves SSH y desactivar el inicio de sesión por contraseña, no esconder el puerto.

¿Es seguro SSH?

Sí, SSH es seguro cuando se configura bien, porque cifra toda la sesión. La mayoría de las intrusiones vienen de una configuración débil, no de SSH en sí — normalmente del inicio de sesión por contraseña dejado activo con una contraseña fácil de adivinar. Usar claves SSH, desactivar el inicio de sesión por contraseña y proteger tu clave privada lo hacen muy seguro.

Guía independiente, mantenida por la comunidad. coldwa.st es un sitio de recursos de programación; este artículo es un texto explicativo nuevo y original sobre el protocolo SSH. Los comandos mostrados son uso estándar de OpenSSH; consulta la documentación de tu propio cliente y servidor para los detalles.
Recomendado

Un servidor para practicar SSH

La mejor forma de aprender SSH es tener un servidor real en el que iniciar sesión. Un VPS o servidor cloud te da acceso root por SSH para desplegar sitios, API o contenedores. Infomaniak — un proveedor suizo que respeta la privacidad — ofrece VPS y servidores cloud a los que puedes conectarte y que puedes gestionar enteramente por SSH.

Ver Infomaniak Cloud →

Enlace de afiliado — apoya estas guías gratuitas.

Explora más explicaciones claras en nuestro índice de guías.