Cómo crear claves SSH con OpenSSH en MacOS o Linux ⋆ ALexHost SRL

Pon a prueba tus habilidades en todos nuestros servicios de Hosting y ¡obtén un 15% de descuento!

Utiliza el código al pagar:

Skills
20.01.2025
No categories

Cómo crear claves SSH con OpenSSH en MacOS o Linux

En el mundo de la comunicación remota segura, SSH (Secure Shell) es uno de los protocolos más utilizados para conectarse a servidores remotos. SSH proporciona un método seguro para iniciar sesión en máquinas remotas y ejecutar comandos a través de una red. Una de las formas más seguras de autenticarse utilizando SSH es con claves SSH, que permiten la autenticación sin contraseña y añaden una capa extra de seguridad. Las claves SSH vienen en pares: una clave privada y una clave pública. En este artículo, recorreremos los pasos para crear claves SSH utilizando OpenSSH en macOS o Linux.

¿Qué son las claves SSH?

Lasllaves SS H son un par de llaves criptográficas usadas para autenticar un cliente (su computadora) a un servidor SSH. La clave pública se coloca en el servidor, y la clave privada se guarda en la máquina cliente. Cuando intenta conectarse, el servidor coteja la clave pública con la privada para verificar su identidad. A diferencia de las contraseñas, las claves SSH no son vulnerables a los ataques de fuerza bruta, lo que las convierte en un método de autenticación muy seguro.

¿Por qué utilizar claves SSH?

  • Mayor seguridad: Las claves SSH son más difíciles de descifrar que las contraseñas tradicionales, lo que reduce el riesgo de acceso no autorizado.
  • Autenticación sin contraseña: Una vez configuradas, las claves SSH permiten iniciar sesión en los servidores sin tener que introducir una contraseña cada vez.
  • Procesos automatizados: Las claves SSH son ideales para automatizar scripts, copias de seguridad y transferencias de archivos que requieren un acceso remoto seguro.

Requisitos previos

Para seguir esta guía, necesitará:

  1. Una máquina macOS o Linux con OpenSSH instalado (OpenSSH viene incluido por defecto en ambas plataformas).
  2. Acceso a un servidor remoto donde colocarás la clave pública.

Guía paso a paso para crear claves SSH

Paso 1: Abrir un terminal

Tanto en macOS como en Linux, la aplicación Terminal proporciona la interfaz para ejecutar comandos de línea de comandos. Abre la Terminal:

  • macOS: Busca “Terminal” en Spotlight (pulsa Cmd Espacio) o encuéntrala en Aplicaciones > Utilidades.
  • Linux: Pulsa Ctrl Alt T, o busca Terminal en tu menú de aplicaciones.

Paso 2: Generar el par de claves SSH

Para generar un nuevo par de claves SSH, utilice el siguiente comando en la terminal:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Explicación de las opciones:

  • t rsa: Especifica el tipo de clave a crear. RSA es uno de los algoritmos más utilizados.
  • b 4096: Establece la longitud de la clave en 4096 bits para una mayor seguridad.
  • C “your_email@example.com”: Añade un comentario a la clave, que suele utilizarse para identificarla. Sustitúyalo por su dirección de correo electrónico o un nombre descriptivo.

Una vez que ejecutes este comando, verás una salida similar a:

Generando par de claves rsa pública/privada.
Introduce el archivo en el que guardar la clave (/home/nombre_de_usuario/.ssh/id_rsa):

Paso 3: Elija una ubicación de archivo (opcional)

Por defecto, la clave se guardará en el directorio .ssh de su carpeta de inicio como id_rsa (clave privada) e id_rsa.pub (clave pública). Pulse Intro para confirmar la ubicación predeterminada o puede especificar una ruta diferente.

Ejemplo:

Introduzca el archivo en el que desea guardar la clave (/Usuarios/nombre_de_usuario/.ssh/id_rsa): [Pulse Intro.]

Paso 4: Establezca una frase de contraseña (opcional pero recomendado)

A continuación, se le pedirá que establezca una frase de contraseña para su clave:

Introduzca la frase de contraseña (vacía si no desea introducirla):

Una frase de contraseña proporciona una capa adicional de seguridad al requerir que la introduzcas cada vez que utilices tu clave privada. Puedes dejar este campo en blanco si prefieres no utilizar una frase de contraseña (aunque se recomienda para mejorar la seguridad).

Si estableces una frase de contraseña, asegúrate de que es algo que puedes recordar o almacenar de forma segura.

Paso 5: Confirme la creación del par de claves

Después de completar los pasos, verá una salida similar a:

Esto indica que tanto la clave privada (id_rsa) como la pública (id_rsa.pub) han sido creadas con éxito y almacenadas en el directorio .ssh.

Paso 6: Copiar la clave pública al servidor

Ahora que ha generado su par de claves SSH, necesita copiar la clave pública al servidor remoto donde desea iniciar sesión.

Puede utilizar el comando ssh-copy-id para automatizar este proceso:

ssh-copy-id user@your-server.com

Sustituye user@your-server.com por tu nombre de usuario real y la dirección del servidor. Se te pedirá que introduzcas tu contraseña para el servidor remoto.

Alternativamente, si ssh-copy-id no está disponible, puedes copiar manualmente la clave pública:

  1. Muestra el contenido de tu clave pública ejecutando:
    cat ~/.ssh/id_rsa.pub
  2. Copia el resultado y pégalo en el archivo.ssh/authorized_keys del servidor remoto. Para ello, inicia sesión en el servidor:
    ssh user@your-server.com

    A continuación, crea el directorio .ssh (si no existe) y añade la clave:

    mkdir -p ~/.ssh
    echo "tu-clave-publica-copiada" >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/claves_autorizadas

Paso 7: Probar la conexión SSH

Una vez copiada la clave pública en el servidor remoto, puede probar la conexión:

ssh user@your-server.com

Si todo está configurado correctamente, deberías poder conectarte sin introducir una contraseña (a menos que hayas establecido una frase de contraseña para tu clave, en cuyo caso tendrás que introducirla).

Gestión de claves SSH

  • Listar todas las claves: Si tienes varias claves, puedes listarlas navegando hasta el directorio .ssh:
    ls ~/.ssh
  • Añadir claves al agente SSH: Si quieres evitar introducir la frase de contraseña repetidamente, puedes añadir tu clave al agente SSH:
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa

Conclusión

Crear claves SSH con OpenSSH en macOS o Linux es un proceso sencillo que mejora enormemente la seguridad de las conexiones a servidores remotos. Siguiendo los pasos descritos en esta guía, puede generar un par de claves y configurar la autenticación sin contraseña, lo que facilita la gestión segura de máquinas remotas. Las claves SSH son una herramienta esencial para cualquier desarrollador, administrador de sistemas o cualquiera que trabaje frecuentemente con servidores remotos.

Pon a prueba tus habilidades en todos nuestros servicios de Hosting y ¡obtén un 15% de descuento!

Utiliza el código al pagar:

Skills