Ir al contenido

Como generar un par de llaves usando PowerShell, Command Prompt (CMD), y la CLI de Linux (con ssh-keygen)


1. Usando PowerShell o Linux CLI (ssh-keygen)

Tanto en la línea de comandos de Linux como en PowerShell (si tienes instalada la herramienta ssh-keygen, que viene por defecto en Windows 10/11 con OpenSSH), el proceso es idéntico. Se recomienda usar Ed25519 por su seguridad y tamaño, pero también se incluye la opción RSA.

Paso 1: Generar el par de llaves

Abre la terminal (PowerShell o Linux CLI) y ejecuta uno de los siguientes comandos:

Opción A: Algoritmo Ed25519 (Recomendado)

Bash

ssh-keygen -t ed25519 -f ~/.ssh/mi_llave_ed25519

Opción B: Algoritmo RSA (Estándar)

Bash

ssh-keygen -t rsa -b 4096 -f ~/.ssh/mi_llave_rsa
ParámetroDescripción
-tEspecifica el tipo de cifrado. (ed25519 o rsa).
-b 4096Define el tamaño de la llave RSA en bits (4096 es el recomendado). No se usa con Ed25519.
-fDefine el nombre del archivo y la ruta de guardado. El archivo privado se llamará mi_llave_rsa, y el público mi_llave_rsa.pub.

Paso 2: Establecer una contraseña (Passphrase)

El sistema te pedirá una contraseña (passphrase).

  • Recomendado: Ingresa una contraseña fuerte. Esto encripta tu llave privada y añade una capa extra de seguridad.
  • Opcional: Presiona Enter dos veces para dejarla vacía, pero esto es menos seguro.

Paso 3: Obtener la llave pública (.pub)

El archivo de la llave pública (mi_llave_ed25519.pub o mi_llave_rsa.pub) es lo que necesitas para subir a tu servidor (por ejemplo, al crear tu EC2).

Para ver su contenido, usa:

En Linux/PowerShell:

Bash

cat ~/.ssh/mi_llave_ed25519.pub
# o
cat ~/.ssh/mi_llave_rsa.pub

Copia el contenido completo que comienza con ssh-ed25519... o ssh-rsa....

2. Usando Command Prompt (CMD)

El Command Prompt (CMD) no tiene la utilidad ssh-keygen por defecto en su path de manera confiable, ya que fue diseñada para entornos Unix. Se recomienda usar PowerShell o WSL (Subsistema de Windows para Linux) en Windows.

Alternativa en CMD:

Si estás en una versión moderna de Windows y ssh-keygen funciona:

Bash

ssh-keygen -t rsa -b 4096 -f C:\Users\%USERNAME%\.ssh\mi_llave_cmd
  • Nota: La ruta a la carpeta .ssh y la ejecución de ssh-keygen pueden ser inconsistentes en CMD comparado con PowerShell. Si da error, usa la sección de PowerShell.

3. Resumen de Archivos Generados

Una vez completado el proceso, tendrás dos archivos:

Tipo de LlaveNombre del Archivo (Ejemplo)Uso¡Cuidado!
Privadami_llave_ed25519 (o mi_llave_rsa)Para ti. La usas para autenticarte.Nunca la compartas. Almacénala de forma segura (normalmente en ~/.ssh/).
Públicami_llave_ed25519.pub (o mi_llave_rsa.pub)La subes al servidor (como tu EC2).Es segura de compartir.


WINSCP