Estás a tope, trabajando en tu proyecto, y tienes que conectarte a tu servidor remoto. Abres la terminal, escribes ssh usuario@tu-servidor.com y… “Enter password”. Uf. ¿Cuál era? ¿La que tenía la mayúscula al final? ¿O la que cambiaba la «a» por un «4»? Venga, otro intento. “Permission denied, please try again”.
Si esta escena te resulta familiar, bienvenido al club. La gestión de contraseñas es un rollo, y en el mundo de los servidores, puede ser además un agujero de seguridad considerable. Pero tranquilo, porque en 2025 ya no hay excusa para seguir sufriendo. Hoy vamos a hablar de una solución que es más segura, más cómoda y, una vez que la configuras, infinitamente más rápida: las claves SSH.
¿Qué son las claves SSH y por qué son la caña?
Antes de ponernos manos a la obra, es importante entender la magia que hay detrás. Cuando hablamos de qué son claves SSH, nos referimos a un sistema de autenticación basado en criptografía de clave pública-privada. En lugar de una contraseña que tú sabes y el servidor también, aquí se genera un par de claves que están matemáticamente conectadas:
- La Clave Pública: Imagina que es una cerradura de alta seguridad. Puedes repartir copias de esta cerradura a quien quieras (o, en este caso, instalarla en todos los servidores a los que quieras acceder). No es secreta.
- La Clave Privada: Esta es la llave maestra. Es única, solo tú la tienes y es capaz de abrir cualquier cerradura (clave pública) que le corresponda. Es ultra secreta y nunca, jamás, debes compartirla con nadie.
Cuando intentas conectar a un servidor que tiene tu clave pública, este te lanza un desafío. Tu ordenador, usando tu clave privada, resuelve ese desafío y se lo devuelve al servidor. Si la respuesta es correcta, el servidor sabe que eres tú y te deja pasar. Todo esto ocurre en milisegundos, sin que tengas que teclear nada.
Los beneficios son enormes:
- Mucho más seguro: Una clave SSH puede tener 2048 o 4096 bits. Adivinar eso por fuerza bruta es prácticamente imposible, a diferencia de una contraseña como «Pa$$w0rd123». Eliminas el riesgo de ataques de diccionario o de que alguien te vea teclear la contraseña.
- Más cómodo que nunca: Una vez configurado, accedes a tus servidores con un solo comando. Se acabaron los typos y los bloqueos por intentos fallidos.
- Ideal para automatización: ¿Necesitas que un script haga una copia de seguridad en un servidor remoto? Con claves SSH, el script puede autenticarse sin necesidad de almacenar una contraseña en texto plano, lo cual es una práctica de seguridad pésima.
Manos a la Obra: Cómo Generar Claves SSH en tu Sistema Operativo
Vale, ya estás convencido. Ahora vamos a lo importante: el proceso para crear claves SSH. Es más fácil de lo que parece, y te lo vamos a explicar para cada sistema operativo.
Generar claves SSH en Linux y macOS: El Camino Fácil
Si usas Linux (Ubuntu, Debian, Arch, etc.) o macOS, estás de suerte. Ya tienes la herramienta ssh-keygen instalada de serie.
- Abre una terminal.
-
Ejecuta el siguiente comando. Te recomendamos usar el algoritmo
Ed25519, que es moderno, rápido y muy seguro.bash
ssh-keygen -t ed25519 -C "tu_email@ejemplo.com"
-t ed25519especifica el tipo de clave que queremos crear.-C "tu_email@ejemplo.com"es un comentario para identificar la clave. Es una buena práctica poner tu correo o algo que te ayude a saber de qué clave se trata en el futuro.
-
Sigue las instrucciones. La terminal te hará un par de preguntas:
- «Enter file in which to save the key…»: Te pregunta dónde guardar las claves. Si no tienes otra clave, simplemente pulsa
Enterpara usar la ubicación por defecto (~/.ssh/id_ed25519). - «Enter passphrase (empty for no passphrase):»: ¡Atención aquí! Este es un paso de seguridad extra. Puedes añadir una contraseña a tu clave privada. De esta forma, si alguien roba tu archivo de clave privada, no podrá usarlo sin saber también esta frase. Te recomendamos encarecidamente que uses una. No tiene que ser tan compleja como una contraseña de servidor, pero que sea algo que recuerdes.
- «Enter file in which to save the key…»: Te pregunta dónde guardar las claves. Si no tienes otra clave, simplemente pulsa
¡Y ya está! Has conseguido generar claves SSH. En tu carpeta ~/.ssh/ (una carpeta oculta en tu directorio de usuario) encontrarás dos nuevos archivos: id_ed25519 (tu clave privada, ¡la secreta!) y id_ed25519.pub (tu clave pública, la que puedes compartir).
Cómo generar claves SSH en Windows: Dos Caminos Posibles
En Windows, tradicionalmente se ha usado una herramienta llamada PuTTY. Sin embargo, las versiones más modernas de Windows 10 y 11 ya incluyen un cliente OpenSSH, por lo que puedes seguir los mismos pasos que en Linux.
Opción 1: El método moderno (OpenSSH en PowerShell)
Si tienes una versión actualizada de Windows 10 u 11, este es el camino más directo.
- Abre PowerShell o el Símbolo del sistema (CMD).
-
Escribe el mismo comando que en Linux/macOS:
powershell
ssh-keygen -t ed25519 -C "tu_email@ejemplo.com"
-
El proceso es idéntico: te pedirá la ubicación (la ruta por defecto será algo como
C:\Users\TuUsuario\.ssh\id_ed25519) y lapassphrase.
Opción 2: El método clásico (PuTTYgen)
Si prefieres usar la suite de PuTTY, que es un cliente SSH muy popular para Windows, necesitarás la herramienta PuTTYgen.
- Descarga e instala PuTTY desde su página web oficial. Asegúrate de que estás descargando desde el sitio oficial para evitar software malicioso. La instalación suele incluir PuTTYgen.
- Abre PuTTYgen.
- En la parte inferior, asegúrate de que esté seleccionado un tipo de clave moderno. Busca Ed25519 si está disponible. Si no, RSA con 4096 bits es una alternativa muy sólida.
- Haz clic en el botón «Generate». El programa te pedirá que muevas el ratón de forma aleatoria por la ventana para generar la aleatoriedad necesaria para la clave.
- Una vez generada, verás la clave pública en la parte superior.
- Añade una
passphraseen los campos «Key passphrase» y «Confirm passphrase». De nuevo, no te saltes este paso. - Haz clic en «Save private key» para guardar tu clave privada. Se guardará con la extensión
.ppk, que es el formato que usa PuTTY. Guárdala en un lugar seguro. - Copia el texto del campo «Public key for pasting into OpenSSH authorized_keys file» y guárdalo en un archivo de texto plano, por ejemplo
id_ed25519.pub. O usa el botón «Save public key».
El Siguiente Paso: Copiar tu Clave Pública al Servidor
Ya tienes tu par de claves, pero de momento solo viven en tu ordenador. Para que la magia ocurra, necesitas «instalar» tu clave pública en el servidor al que quieres acceder.
El método más sencillo, si tu sistema lo soporta (Linux y macOS), es usar el comando ssh-copy-id.
bash
ssh-copy-id usuario@servidor.com
Este comando te pedirá la contraseña del servidor por última vez. Lo que hace es conectarse, encontrar el archivo ~/.ssh/authorized_keys en el servidor y añadir tu clave pública al final.
¿Y si no tengo ssh-copy-id (como en Windows)?
No pasa nada, el proceso manual es muy sencillo:
- Copia el contenido de tu clave pública. Abre el archivo
.pub(por ejemplo,id_ed25519.pub) con un editor de texto y copia todo su contenido. Es una sola línea de texto muy larga. - Conéctate al servidor usando tu método habitual (con contraseña, por ahora).
-
Edita el archivo
~/.ssh/authorized_keys. Puedes usar un editor de terminal comonanoovim:bash
nano ~/.ssh/authorized_keys
-
Pega tu clave pública en una nueva línea al final del archivo. Guarda los cambios y sal del editor.
¡Listo! La próxima vez que intentes conectar con ssh usuario@servidor.com, tu ordenador usará la clave privada, el servidor la reconocerá y entrarás directamente. Si pusiste una passphrase, te la pedirá para desbloquear la clave privada.
El Poder Conlleva una Gran Responsabilidad: Custodia tu Clave Privada
Hemos repetido esto varias veces, pero es el punto más crucial de todos. Tu clave privada es la identidad digital que te da acceso a tus servidores.
Si un atacante consigue tu archivo de clave privada, podrá suplantar tu identidad y acceder a todos los sistemas donde tengas instalada la clave pública correspondiente. Perder el control sobre ella es como darle a un ladrón las llaves de tu casa, tu coche y tu caja fuerte.
Sigue estas reglas de oro:
- NUNCA compartas tu clave privada. Ni por email, ni por chat, ni la subas a un repositorio de Git público. Es solo tuya.
- USA SIEMPRE una passphrase. Es tu última línea de defensa. Si alguien roba el archivo, necesitará adivinar la passphrase para poder usarlo, dándote tiempo para revocar la clave en tus servidores. Para una explicación más técnica sobre por qué este sistema es tan robusto, puedes consultar este artículo sobre autenticación con clave pública.
- Guárdala en un lugar seguro. La ubicación por defecto en tu carpeta de usuario está bien, ya que normalmente solo tú tienes acceso. No la dejes en una memoria USB sin cifrar o en una carpeta de Dropbox compartida.
- Revisa los permisos del archivo (Linux/macOS). Tu clave privada debe ser legible solo por ti. El sistema suele hacerlo por defecto, pero puedes asegurarte con el comando
chmod 600 ~/.ssh/id_ed25519.
Conclusión: Un Futuro sin Contraseñas (a tu alcance)
Dar el paso para generar claves SSH y abandonar las contraseñas puede parecer un pequeño esfuerzo técnico, pero la recompensa en seguridad y comodidad es gigantesca. Has aprendido qué son las claves SSH, por qué son superiores a las contraseñas y cómo configurarlas en cualquier sistema.
Este es uno de esos cambios que, una vez que lo haces, te preguntas cómo has podido vivir sin él. Así que ya no hay excusas. Dedica unos minutos a seguir esta guía y lleva la seguridad y la eficiencia de tus conexiones a servidores al siguiente nivel. Tu yo del futuro, ese que ya no pierde tiempo buscando contraseñas, te lo agradecerá.
Preguntas Frecuentes
Q: ¿Es realmente necesario poner una 'passphrase' a mi clave privada? ¿No anula la comodidad?
A: Sí, es una medida de seguridad crucial. La 'passphrase' cifra el archivo de tu clave privada en tu ordenador. Si un atacante roba ese archivo, no podrá usarlo sin conocer también la contraseña, dándote tiempo para revocar la clave en tus servidores y prevenir un acceso no autorizado. Es un pequeño inconveniente que ofrece una protección inmensa.
Q: Tengo varios ordenadores, como el portátil del trabajo y mi PC personal. ¿Debo copiar mi clave privada a todos o generar una nueva para cada uno?
A: La práctica más segura es generar un par de claves SSH único para cada ordenador. De esta forma, si uno de tus equipos se ve comprometido, solo necesitas eliminar su clave pública de los servidores, y los demás seguirán siendo seguros. Copiar la misma clave privada aumenta el riesgo, ya que si se filtra, todos tus accesos quedan vulnerables.
Q: ¿Qué hago si pierdo mi clave privada o sospecho que ha sido robada?
A: Debes actuar de inmediato. Conéctate a todos los servidores donde instalaste esa clave (usando otro método, como la contraseña) y elimina la línea correspondiente a la clave comprometida del archivo `~/.ssh/authorized_keys`. Esto revoca su acceso de forma instantánea. A continuación, genera un nuevo par de claves en un equipo seguro y distribuye la nueva clave pública.







Deja una respuesta