Saltar al contenido

Clave SSH

¿Qué son las claves SSH?

SSH Key

Las claves SSH son credenciales de acceso utilizadas en el protocolo SSH (Secure Shell). Un shell seguro es un protocolo de red que permite iniciar sesión de forma segura desde un ordenador a otro, así como administrar redes, sistemas operativos y configuraciones. Funcionalmente, las claves SSH son casi idénticas a las contraseñas, pero es más seguro iniciar sesión en un servidor con claves SSH que solo con contraseñas, ya que descifrar la clave es muy difícil, casi imposible.

Las claves SSH siempre vienen en pares, y cada uno de estos pares está compuesto por una clave pública y una clave privada. Estos dos son tipos de claves.

  1. Las claves públicas, también conocidas como claves autorizadas, determinan quién puede acceder a cada sistema.
  2. Las claves privadas o de identidad identifican a los usuarios y les otorgan acceso.

¿Cómo configurar las claves SSH?

Necesitas algoritmos de criptografía de clave pública para generar claves SSH, siendo los más utilizados las claves Ed25519 y RSA. Las claves SSH se configuran con la ayuda de una herramienta de generación de claves.

Crear una clave SSH en Mac y Linux

Dado que estos dos sistemas operativos tienen aplicaciones de terminal modernas que se combinan con el paquete SSH, los pasos para crear una clave SSH son los mismos para ambos.

  1. Abre una terminal de comandos y ejecuta lo siguiente:

configurar clave SSH

bash
ssh-keygen -t ed25519 -C "[email protected]"
  1. Luego, debes elegir la ubicación del archivo.

guardar clave SSH

text
> Enter a file in which to save the key (~/.ssh/id_ed25519): [Press enter]
  1. Luego, debes agregar una frase de contraseña segura, la cual se solicitará cada vez que se use la clave SSH.

establecer contraseña para la clave SSH

text
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]
  1. Agrega la nueva clave SSH al ssh-agent. El ssh-agent es una herramienta responsable de almacenar las claves privadas, pero también gestiona las solicitudes de firma con claves privadas por motivos de seguridad.

Ejecuta el siguiente comando para asegurarte de que el ssh-agent se esté ejecutando:

Clave SSH en Linux

bash
eval "$(ssh-agent -s)"
> Agent pid 59566

Si el ssh-agent se está ejecutando, agrega la nueva clave SSH al agente SSH local ejecutando el siguiente comando:

Clave SSH

bash
ssh-add ~/.ssh/id_ed25519

(Nota: En macOS moderno (OpenSSH 8.8+), ssh-add -K está en desuso. En su lugar, agrega AddKeysToAgent yes a tu archivo ~/.ssh/config para persistir automáticamente las claves en el llavero.)

  1. Copia la clave pública al servidor remoto. Para usar la clave para la autenticación, debes agregarla al archivo ~/.ssh/authorized_keys del servidor remoto. Ejecuta el siguiente comando desde tu máquina local:
bash
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@remote_host
  1. Verifica la conexión. Prueba que puedes iniciar sesión en el servidor remoto usando tu nueva clave:
bash
ssh user@remote_host

Crear una clave SSH en Windows

Necesitas Git Bash para crear una clave SSH en el sistema operativo Windows. Abre Git Bash y ejecuta el siguiente comando para generar la clave:

bash
ssh-keygen -t ed25519 -C "[email protected]"

Sigue los mismos mensajes que arriba para establecer la ubicación del archivo y la frase de contraseña. Después de generar la clave, cópiala a tu servidor remoto o servicio de alojamiento Git usando el comando ssh-copy-id o pegando el contenido de id_ed25519.pub en la configuración de claves SSH del servicio.

Práctica

¿Cuáles son los aspectos importantes de las claves SSH en el contexto de Git?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.