Es cansado escribir contraseñas cada vez que te conectas por SSH. Si trabajas con varias máquinas locales o servidores, recordar y teclear la clave en cada conexión se vuelve tedioso. La solución sencilla son las claves SSH.
Las configuras una vez y listo. Es como tener una sola credencial segura para todos tus servidores.
En este artículo te explico paso a paso cómo hacerlo, ideal si estás empezando con Linux o SSH.
SSH Secure Shell es un protocolo para acceder de forma remota y segura a un servidor. Cifra todos los datos para que nadie pueda interceptar tu contraseña o tus comandos. Normalmente te conectas con ssh usuario@ip y el servidor pide contraseña. Con claves, no hace falta contraseña porque la autenticación se realiza de forma automática mediante criptografía.
Punto clave
No necesitas crear una clave distinta para cada servidor. Una buena clave puede reutilizarse en todas las máquinas a las que quieras conectarte. Ahorra tiempo y reduce errores. Es especialmente útil si gestionas varios VPS, un clúster o equipos en tu red doméstica.
Paso 1 Generar la clave SSH una sola vez
Vas a crear un par de claves privada y pública. La privada es tuya y nunca sale de tu equipo. La pública se instala en los servidores.
Abre una terminal. En Windows puede ser PowerShell o Git Bash. Ejecuta: ssh-keygen -t ed25519 -C tu_email@ejemplo.com
Explicación rápida: ssh-keygen es la utilidad de generación incluida en OpenSSH. El tipo ed25519 es moderno, seguro, rápido y con claves compactas. La opción -C añade un comentario útil para identificar la clave.
El asistente preguntará dónde guardar los archivos. Por defecto en C:\Users\tu_usuario\.ssh\id_ed25519 en Windows o en ~/.ssh/id_ed25519 en Linux y macOS. Si te pregunta si deseas sobrescribir una clave existente, no aceptes a menos que quieras reemplazar la anterior.
Luego pedirá una passphrase contraseña de la clave. Es opcional pero recomendable. Sin passphrase la conexión será totalmente automática, pero si alguien roba tu clave privada tendría acceso. Con passphrase la clave queda bloqueada hasta que introduzcas esa contraseña aunque para automatizaciones puede ser menos conveniente. Puedes usar ssh-agent para no escribirla en cada conexión.
Se crearán dos archivos: id_ed25519 clave privada que nunca debes copiar a otros equipos y id_ed25519.pub clave pública que sí puedes compartir e instalar en servidores.
En Windows verifica que exista la carpeta .ssh en tu perfil; se crea automáticamente si no estaba.
Paso 2 Copiar la clave pública a los servidores
Instala la clave pública en cada servidor con el comando ssh-copy-id.
Ejemplo en Windows especificando la ruta de la clave pública: ssh-copy-id -i C:\Users\tu_usuario\.ssh\id_ed25519.pub usuario@direccion_ip
Parámetros: -i ruta_a_la_clave_publica indica qué clave copiar. usuario@direccion_ip es el usuario del servidor por ejemplo root o admin y la IP o dominio por ejemplo 192.168.98.98.
La primera vez te pedirá la contraseña del servidor. Añadirá tu clave al archivo ~/.ssh/authorized_keys y saldrá. Repite en cada servidor.
Si ssh-copy-id no está disponible, hazlo manualmente copiando el contenido de id_ed25519.pub, conectando por SSH con contraseña, creando si hace falta ~/.ssh/authorized_keys y pegando la línea de la clave al final. Establece permisos adecuados con chmod 600 ~/.ssh/authorized_keys.
Paso 3 Opcional crear un archivo config para simplificar
Para evitar escribir comandos largos como ssh admin@192.168.98.98 crea el archivo ~/.ssh/config en Windows C:\Users\tu_usuario\.ssh\config. Es como una libreta de direcciones para SSH.
Dentro añade bloques por servidor, por ejemplo para el primero usa estos campos Host server1 como alias, HostName 192.168.98.98 dirección real o dominio, User admin usuario por defecto, IdentityFile ~/.ssh/id_ed25519 ruta a la clave privada. Para un segundo servidor podrías usar Host server2, HostName 192.168.98.214, User administrator, IdentityFile ~/.ssh/id_ed25519. Guarda y conecta con ssh server1 o ssh server2.
Paso 4 Comprobar la conexión
Prueba con ssh server1. Si todo va bien, entrarás sin contraseña. Si configuraste passphrase te la pedirá una vez por sesión de agente.
Cómo funciona por debajo
Las claves SSH usan criptografía asimétrica. Tú guardas la clave privada y distribuyes la pública en authorized_keys de cada servidor. Al conectar, el servidor envía un reto aleatorio que tu cliente firma con la clave privada. El servidor verifica la firma con la clave pública. Si coincide, acceso concedido. La clave pública no revela la privada y por eso puede compartirse sin riesgo.
Conclusión
Con este método podrás entrar en múltiples servidores Linux sin volver a escribir contraseñas. Es más seguro, rápido y cómodo, especialmente cuando administras varias máquinas.
En Q2BSTUDIO te ayudamos a llevar esta filosofía de eficiencia y seguridad a toda tu infraestructura. Somos una empresa de desarrollo de software con foco en aplicaciones a medida y software a medida, especialistas en inteligencia artificial, ciberseguridad, automatización de procesos, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. Si buscas fortalecer tus accesos, auditorías o hardening, descubre nuestros servicios de ciberseguridad y pentesting. Y si necesitas optimizar y escalar tu infraestructura en la nube, podemos acompañarte con servicios cloud en AWS y Azure.