Cómo generar claves SSH en sistemas UNIX

~0 min
Contenido del artículo

    Cuando gestionas varios servidores o realizas tareas repetitivas como copias de seguridad con rsync, introducir la contraseña en cada conexión puede convertirse en una molestia. Por suerte, los sistemas UNIX permiten configurar autenticación sin contraseña usando claves SSH públicas y privadas.

    A continuación te explico cómo generar tus claves SSH y habilitar la autenticación automática.

    1. Generar tu clave SSH pública y privada

    # shell
    ssh-keygen -t rsa -b 4096 -C "tu_email@ejemplo.com"

    Puedes dejar los valores por defecto pulsando Enter varias veces, o personalizar la ruta y proteger la clave con una contraseña adicional.

    Una vez generado el par de claves, tendrás:

    Una clave privada en ~/.ssh/id_rsa

    Una clave pública en ~/.ssh/id_rsa.pub

    Puedes ver tu clave pública con:

    # shell
    cat ~/.ssh/id_rsa.pub
    
    # Obtendrás algo así:
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLVDBIpdpfePg/a6h8au1HTKPPrg8wuTrjdh0QFVPpTI4KHctf6/FGg1NOgM++hrDlbrDVStKn/b3Mu65//tuvY5SG9sR4vrINCSQF++a+YRTGU6Sn4ltKasdeusHERvBndtFXoDxsYKRCtPfgm1BGTBpoSl2A7lrwnmVSg+u11FOa1xSZ393aaBFDSeX8GlJf1SojWYIAbE25Xe3z5L232vZ5acC2PJkvKctzvUttJCP91gbNe5FSwDolE44diYbNYqEtvq2Jt8x45YzgFSVKf6ffnPwnUDwhtvc2f317TKx9l2Eq4aWqXTOMiPFA5ZRM/CF0IJCqeXG6s+qVfRjB root@inventao

    2. Autorizar tu clave en el servidor remoto

    # shell
    ssh usuario@tu-servidor

    En el servidor, añade tu clave pública al archivo ~/.ssh/authorized_keys. Si el directorio o archivo no existen, créalos así:

    # shell
    mkdir -p ~/.ssh
    nano ~/.ssh/authorized_keys
    

    Pega tu clave pública al final del archivo, guarda y cierra. Después, asegúrate de que los permisos son correctos:

    # shell
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    

    3. Prueba la conexión sin contraseña

    Ahora vuelve a tu equipo local y prueba:

    # shell
    ssh usuario@tu-servidor

    Si todo está bien configurado, no debería pedirte contraseña. Ya tienes acceso automático desde tu equipo de confianza.

    ¿Para qué sirve esta configuración?

    Automatizar tareas con rsync, scp, Ansible, etc.

    Conectarte a múltiples servidores sin repetir contraseñas.

    Mejorar la seguridad: puedes desactivar el login por contraseña y usar solo claves.

    Contenido del artículo
      Sobre el autor
      Foto de Miguel Ángel
      Miguel Ángel

      Técnico de sistemas y desarrollador web especializado en soluciones digitales para entornos rurales.

      Trabajo sin intermediarios para ayudarte con tus servidores, redes y automatizaciones de forma clara y directa.