Cómo configurar autenticación SSH con claves usando PuTTY y un servidor Linux en 5 pasos rápidos

Resumen rápido de intención y variantes
Este artículo muestra cómo configurar autenticación SSH con claves usando PuTTY en Windows y un servidor Linux. Variantes relacionadas: configuración de claves OpenSSH, uso de WSL/Windows OpenSSH, uso de agentes de claves alternativos, administración centralizada de claves.
1. Descargar el ZIP con los binarios de PuTTY
Descarga el paquete oficial de PuTTY con todos los ejecutables:
http://the.earth.li/~sgtatham/putty/latest/x86/putty.zip
Guarda el ZIP en una carpeta accesible. No ejecutes archivos desde ubicaciones no confiables.
2. Generar par de claves (privada + pública)
- Abre PuTTYgen.exe.
- Pulsa Generate y mueve el ratón dentro de la ventana hasta que termine.
- Escribe una frase de paso (passphrase) segura y que puedas recordar.
- Pulsa “Save public key” y luego “Save private key”.
Consejo: la frase de paso protege tu clave privada. Si alguien obtiene el archivo de tu clave privada sin la frase, no podrá usarla.
3. Configurar el servidor Linux (crear usuario y guardar la clave pública)
En este ejemplo usaremos el nombre de usuario autotimesheet. Cámbialo por el que uses normalmente.
Como root, en la shell, ejecuta:
adduser autotimesheet --disabled-password
Sigue las indicaciones; dejar campos vacíos está bien.
Luego cambia al usuario y crea el directorio .ssh con permisos seguros:
su autotimesheet
cd /home/autotimesheet
mkdir .ssh
chmod 700 .ssh
cd .ssh
Crea y edita el archivo authorized_keys2 dentro de .ssh. En ese archivo pega la clave pública EN UNA SÓLA LÍNEA. Esto es fundamental.
Importante:
- No añadas “[email protected]” al final de la línea.
- No incluyas los marcadores BEGIN PUBLIC KEY / END PUBLIC KEY.
- No añadas sufijos como rsa-key-20090614.
- Asegúrate de que la línea empieza con “ssh-rsa”.
Ejemplo de cómo debe ser la línea:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBzPeFQv+295iKzuuPH0jA9449pSHVpCwXvCR9EstmYh...
Finalmente fija permisos restrictivos:
chmod 600 authorized_keys2
Nota: algunos sistemas modernos usan el archivo authorized_keys en lugar de authorized_keys2. Si tu sistema no reconoce authorized_keys2, usa authorized_keys y mantén los mismos permisos.
4. Añadir la clave privada al agente de autenticación PuTTY (Pageant)
Inicia el agente Pageant (PAGEANT.EXE). Cuando esté corriendo localiza su icono en la bandeja del sistema, haz clic derecho y selecciona “add key”.
Selecciona tu archivo de clave privada (.ppk) y escribe la frase de paso cuando te la solicite. Pageant actúa como un gestor de frases para sesiones SSH.
5. Conectarse al servidor con PuTTY
Abre PuTTY y conéctate como autotimesheet@tuserver (reemplaza por tu host o IP):
Si todo está correcto, PuTTY te autenticará usando la clave privada almacenada en Pageant y no te pedirá la contraseña de la cuenta:
Comprobaciones y solución de problemas comunes
- Permisos incorrectos: revisa que .ssh tenga 700 y authorized_keys2 tenga 600. Permisos laxos impiden la autenticación.
- Archivo en múltiples líneas: la clave pública debe estar en UNA SÓLA LÍNEA.
- Formato erróneo: la línea debe empezar con ssh-rsa (u otro tipo soportado) y contener la clave.
- Agent no cargado: confirma que Pageant está en la bandeja y que la clave aparece añadida.
- Configuración del servidor: revisa /etc/ssh/sshd_config para asegurarte de que PubkeyAuthentication está en yes y PasswordAuthentication puede estar en no si ya confirmaste que las claves funcionan.
- Logs del servidor: revisa /var/log/auth.log o journalctl -u sshd para detalles de errores.
Alternativas y enfoques relacionados
- Usar OpenSSH en Windows (WSL o cliente OpenSSH de Windows) en lugar de PuTTY.
- Administradores: usar un servidor de llaves o soluciones de gestión centralizada (Vault, LDAP/SSHKey managment) para equipos grandes.
- Autenticación con hardware: YubiKey o tokens FIDO2 para mayor seguridad.
Lista de verificación por rol
Administrador de sistema:
- Crear usuario con –disabled-password.
- Crear .ssh con permisos 700.
- Colocar authorized_keys2 y fijar permisos a 600.
- Verificar sshd_config y reiniciar sshd si es necesario.
Usuario final:
- Generar clave con PuTTYgen.
- Guardar la clave privada en lugar seguro y con passphrase.
- Añadir clave a Pageant antes de conectar.
DevOps / Seguridad:
- Revisar rotación de claves y políticas de acceso.
- Registrar el uso de claves en inventario de acceso.
Seguridad y buenas prácticas
- Mantén la clave privada fuera de repositorios y unidades compartidas.
- Usa passphrase para proteger la clave privada.
- Considera deshabilitar la autenticación por contraseña en el servidor una vez que todas las cuentas estén configuradas correctamente.
- Limita el acceso por IP en el firewall cuando sea posible.
- Desactiva el inicio de sesión root por SSH (PermitRootLogin no).
Glosario de una línea
- SSH: protocolo seguro para acceder a shells remotos.
- PuTTY: cliente SSH/ Telnet para Windows.
- PuTTYgen: herramienta de PuTTY para generar pares de claves.
- Pageant: agente de claves de PuTTY que guarda claves privadas en memoria.
- authorized_keys2: archivo en el servidor que contiene claves públicas autorizadas.
Criterios de aceptación
- El usuario puede iniciar sesión con PuTTY sin que el servidor pida contraseña.
- El archivo /home/usuario/.ssh/authorized_keys2 contiene la clave pública en una línea y tiene permisos 600.
- El directorio .ssh tiene permisos 700.
Resumen
Seguir estos cinco pasos permite migrar de autenticación por contraseña a autenticación por claves usando PuTTY y Pageant en Windows y un servidor Linux. La configuración correcta de permisos y el formato de la clave pública son las causas más comunes de fallo; revisa logs y permisos si algo falla.
Importante: Haz copia de seguridad de tu clave privada en un lugar seguro y considera usar hardware de seguridad para cuentas críticas.
Materiales similares

Ver historial de actualizaciones en Windows 10

Configurar Openfire en CentOS 5.6

Iniciar sesión y migrar Windows Live Mail

Arreglar error de Windows Resource Protection

SSH con claves y PuTTY en 5 pasos
