Claves SSH

Cree una clave SSH en macOS, Linux o Windows, copie su mitad pública en la consola y corrija los errores de permisos que bloquean la conexión.

Una máquina acepta la mitad pública de su clave. La mitad privada permanece en su equipo y nunca sale de él.

Compruebe si ya tiene una clave

ls ~/.ssh/*.pub

Un archivo como id_ed25519.pub indica que ya tiene una clave. Pase a Copie la clave pública.

Cree una clave

macOS y Linux

Abra Terminal:

ssh-keygen -t ed25519 -C "you@laptop"

Pulse Intro para conservar la ruta predeterminada (~/.ssh/id_ed25519). Añada una frase de contraseña: protege la clave si pierde su equipo.

Windows 10 y 11

OpenSSH viene incluido en Windows. Abra PowerShell:

ssh-keygen -t ed25519 -C "you@laptop"

La clave se guarda en C:\Users\<you>\.ssh\id_ed25519. Si no se encuentra ssh-keygen, abra Settings, System, Optional features y añada OpenSSH Client.

Copie la clave pública

Copie la única línea del archivo .pub y péguela en el formulario de lanzamiento.

Sistema Comando
macOS pbcopy < ~/.ssh/id_ed25519.pub
Linux cat ~/.ssh/id_ed25519.pub
Windows Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | Set-Clipboard

La línea empieza por ssh-ed25519, ecdsa-sha2-nistp256 o ssh-rsa. Un bloque que empieza por -----BEGIN es la clave privada: no la pegue nunca en ningún sitio.

Claves para scripts y agentes

Una sesión lanzada con una clave de API recibe la clave pública enviada con el lanzamiento. Esa clave abre solo esta sesión y no se guarda en su cuenta. La CLI, los SDK, el servidor MCP y la GitHub Action la envían por usted.

Una clave de API con el alcance workloads:read lista las claves guardadas en la consola, y un lanzamiento puede indicar una de ellas. Guardar o eliminar una clave de su cuenta se hace en la consola.

Conéctese con esta clave

ssh -i ~/.ssh/id_ed25519 ubuntu@203.0.113.42

En Windows:

ssh -i $env:USERPROFILE\.ssh\id_ed25519 ubuntu@203.0.113.42

Para no escribir -i cada vez, añada una entrada a ~/.ssh/config:

Host nodelodge-*
  User ubuntu
  IdentityFile ~/.ssh/id_ed25519

Cargue la clave una vez por sesión

Con una frase de contraseña, el agente la pide una sola vez:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

En Windows, inicie el servicio del agente una vez desde un PowerShell de administrador y después añada la clave:

Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519

Corrija los errores de permisos

UNPROTECTED PRIVATE KEY FILE o bad permissions

SSH rechaza una clave privada que otras cuentas pueden leer.

macOS y Linux:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519

Windows:

icacls $env:USERPROFILE\.ssh\id_ed25519 /inheritance:r /grant:r "$($env:USERNAME):(R)"

Permission denied (publickey)

  • La clave que pegó no es la que ofrece SSH. Indíquela con -i.
  • Conéctese como ubuntu, no como root.
  • Una clave pegada con un salto de línea dentro no coincide. Cópiela de nuevo con el comando anterior.

Más errores de conexión: Conectarse por SSH.

Última actualización

Los resultados aparecen mientras escribe. Las flechas permiten recorrerlos.