Como Generar SSH Keys (Llaves SSH) en PuTTY para la seguridad de tu sitio web

Una SSH key es una de las opciones de autenticación SSH más seguras. Definitivamente es más seguro que la autenticación de contraseña SSH habitual. Es por esto que se recomienda utilizar el método de autenticación de clave SSH para las conexiones a tus servidores.

Con la autenticación de contraseña, puedes conectarte a su servidor desde cualquier ubicación, solo necesitas ingresar tu contraseña. Sin embargo, si tu contraseña se filtra, es un riesgo importante ya que cualquiera que conozca tu contraseña podrá ingresar al servidor.

La autenticación de SSH key (clave SSH) solo permite conexiones de clientes cuya clave coincida con la del servidor. Básicamente, genera un par de claves (clave privada y clave pública). La clave privada se coloca en tu máquina local y la clave pública se carga en el servidor. Al conectarte al servidor, se realiza una validación de estas dos claves y si el par de claves pasa la validación, se te permite conectarte. Por supuesto, puedes cargar claves de múltiples usuarios para que tú u otros usuarios autorizados puedan conectarse al servidor desde diferentes computadoras.

Como puedes ver, este es un método de conexión mucho más seguro. En este tutorial, nos centraremos en los usuarios de Windows que utilizan PuTTY para conectarse al servidor y mostraremos cómo generar claves PuTTY SSH. Si deseas generar una SSH key en Linux o Mac, consulta este tutorial (en inglés).

¿Qué necesitarás?

Antes de continuar leyendo esta guía, necesitarás lo siguiente:

  • Acceso a tu servidor Linux / VPS
  • PuTTY y PuTTYgen instalados en su computadora (Descargar aquí)

Paso 1 – Descarga PuTTYgen

Si bien puede que ya tengas PuTTY instalado en tu computadora, para generar SSH keys también necesitarás PuTTYgen.

  1. Descarga PuTTYgen aquí.
  1.  Deberías poder ver este archivo descargado:

No es necesario instalar PuTTYgen, se iniciará cuando se ejecute el archivo.

Paso 2 – Genera un par de SSH key

  1. Abre PuTTYgen haciendo doble clic en el archivo puttygen.exe que has descargado en el Paso 1.
  2. Deberías ver una ventana como esta:
    Abrir PuTTYgen
  3. Antes de generar tu par de claves SSH, puedes editar algunos ajustes, por ejemplo, la longitud de la clave, pero en la mayoría de los casos las opciones predeterminadas funcionarán perfectamente.
    Opciones de PuTTYgen
  4. Genera tu par de SSH keys haciendo clic en el botón Generate.
    PuTTYgen botón Generate
  5. Cuando la barra de progreso empiece a cargarse, mueve el ratón aleatoriamente por el área para cargar la barra y generar tu par de claves.
    Barra de progreso en PuTTYgen
  6. Tu clave pública SSH se mostrará en la pantalla:
    Clave pública de PuTTYgen
  7. Para mayor seguridad, es muy recomendable pensar en una contraseña para tu SSH key (pero también puedes dejarla vacía):
    Contraseña en PuTTYgen
  8. Guarda tu clave privada en cualquier lugar de tu ordenador y ponle el nombre que quieras.
    Guardar clave privada en PuTTYgen
    Guardar clave privada en PuTTYgen
  9. Guarda tu clave pública en el mismo lugar de tu ordenador y ponle el nombre que quieras.
    Guardar clave pública en PuTTygen
    Guardar clave pública en PuTTygen

Y eso es todo, has generado tu par de SSH keys. La clave privada SSH permanecerá en tu ordenador (no se la des a nadie) mientras que la clave pública debe ser cargada en el servidor al que te quieres conectar.

Paso 3 – Configura tu llave privada en PuTTY

Para que el servidor reconozca cuando tu computadora se conecta desde PuTTY, debes adjuntar la clave privada en PuTTY.

  1. Abre PuTTy.
  2. Ve a Connection -> SSH -> Auth en la barra lateral izquierda.
    Opciones de PuTTY
  3. Busca tu archivo de clave privada en el campo Private Key for authentication.
    Navegador de PuTTY
  4. Selecciona el archivo de clave privada con terminación .ppk y haz clic en Open.
    Clave privada de PuTTY

Paso 4 – Agrega tu llave pública en el servidor

Por último, tienes que cargar tu llave pública en el servidor:

  1. En tu computadora, abre el archivo de llave pública (id_rsa.pub) que generaste en el Paso 2 con cualquier editor de texto y copia su contenido (llave pública).
  2. Conéctate a tu VPS usando Putty. Consulta esta guía para conocer los pasos detallados.
  3. Si la carpeta .ssh no existe, créala junto con el archivo authorized_keys con el siguiente comando:
    mkdir ~/.ssh | touch ~/.ssh/authorized_keys
  4. Asegura el archivo de la llave SSH cambiando los permisos:
    chmod 0700 ~/.ssh; chmod 0644 ~/.ssh/authorized_keys
  5. Abre authorized_keys con el editor de texto vim:
    vim ~/.ssh/authorized_keys
  6. Presiona la tecla i de tu teclado y el botón derecho del mouse para pegar la clave pública.
  7. Presiona el botón Esc y escribe 😡, presiona Enter. Este comando guardará los cambios realizados en el archivo.

Eso es todo, ahora puedes usar las SSH keys en lugar de la autenticación por contraseña SSH para conectarte a tu VPS.

Conclusión

Has aprendido a generar una SSH key para PuTTY usando PuTTYgen. Esto hará que tu conexión al servidor sea mucho más segura y conveniente, ya que no necesitarás ingresar la contraseña cada vez.

Recomendamos usar esta forma de autenticación SSH en todo momento y deshabilitar la autenticación por contraseña para asegurar completamente tu servidor. Para averiguar cómo deshabilitar completamente la autenticación de contraseña SSH en tu servidor y usar la autenticación de clave SSH en su lugar, sigue este tutorial (en inglés): Cómo deshabilitar la autenticación de contraseña SSH en VPS.

Author
El autor

Gustavo B.

Gustavo es un apasionado por la creación de sitios web. Se enfoca en la aplicación de estrategias SEO en Hostinger para España y Latinoamérica, así como la creación de contenidos de alto nivel. Cuando no está aplicando nuevos trucos en WordPress lo puedes encontrar tocando la guitarra, viajando o tomando un curso online.