Cómo cargar una clave pública SSH a un VPS existente ⋆ 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
21.01.2025
No categories

Cómo cargar una clave pública SSH a un VPS existente

AlexHost utilizando claves SSH es una de las maneras más seguras y eficientes para manejar la autenticación. Si usted tiene un VPS existente y desea cambiar al uso de claves SSH (o añadir una nueva clave), es un proceso sencillo que mejora la seguridad al permitir el inicio de sesión sin contraseña. En esta guía, le mostraremos cómo cargar una clave pública SSH a un VPS existente, garantizando que los inicios de sesión futuros sean seguros y sencillos.

¿Por qué usar claves SSH?

Las claves SSH son ampliamente utilizadas para asegurar el acceso a servidores remotos. Ofrecen varias ventajas sobre las contraseñas tradicionales:

  • Mayor seguridad: Las claves SSH utilizan autenticación criptográfica, que es mucho más difícil de descifrar que incluso las contraseñas más seguras.
  • Inicio de sesión sin contraseña: Una vez configuradas, las claves SSH le permiten iniciar sesión en su servidor sin necesidad de escribir una contraseña.
  • Protección contra ataques de fuerza bruta: Al eliminar las contraseñas, las claves SSH evitan los ataques de fuerza bruta destinados a adivinar las credenciales de inicio de sesión.

Requisitos previos

Antes de empezar, necesitarás

  1. Acceso a su VPS existente: Esto significa que actualmente puede iniciar sesión en el VPS utilizando SSH, probablemente con una contraseña.
  2. Un par de claves SSH: Si no tiene una, veremos cómo generarla.
  3. Conocimientos básicos de comandos SSH: Se requiere familiaridad con la interfaz de línea de comandos (CLI).

Paso 1: Generar un par de claves SSH (si no tiene una)

Si aún no tiene un par de claves SSH en su máquina local, puede crear una. He aquí cómo hacerlo:

Abra un terminal en su máquina local (macOS o Linux) y ejecute el siguiente comando:

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

Este comando creará un par de claves de encriptación RSA de 4096 bits. Durante el proceso, se te preguntará dónde guardar la clave:

  • Pulsa Intro para guardar la clave en la ubicación predeterminada(~/.ssh/id_rsa).
  • Opcionalmente, añade una frase de contraseña para una capa extra de seguridad (recomendado), o pulsa Enter para omitir este paso.

Este proceso genera dos archivos:

  • id_rsa: Tu clave privada (mantenla segura y nunca la compartas).
  • id_rsa.pub: Tu clave pública (esto es lo que subirás al servidor).

A continuación, muestra la clave pública para que puedas copiarla:

ssh root@tu_vps_ip

Copia la salida (tu clave pública), ya que la necesitarás en el siguiente paso.

Paso 2: Inicie sesión en su VPS

Para añadir su nueva clave pública SSH a la máquina virtual, tendrá que iniciar sesión en ella utilizando el método actual (ya sea con una contraseña o una clave existente). Abra su terminal y ejecute:

ssh root@su_vps_ip

Sustituye tu_vps_ip por la dirección IP real de tu VPS. Si estás accediendo con una cuenta de usuario diferente (no root), sustituye root por el nombre de usuario apropiado.

Paso 3: Crear el directorio .ssh (si no existe)

Una vez iniciada la sesión, asegúrese de que el directorio. ssh existe para la cuenta de usuario que está utilizando. Si no existe, créelo con el siguiente comando:

mkdir -p ~/.ssh
chmod 700 ~/.ssh

Este comando crea el directorio .ssh y establece los permisos correctos para que sólo el usuario actual pueda acceder a él.

Paso 4: Añadir la clave pública al archivo authorized_keys

Ahora que tiene el directorio .s sh en su lugar, necesita subir su llave pública SSH al VPS agregándola al archivo authorized_keys. Este archivo contiene las claves públicas que están permitidas para autenticar contra el servidor.

  1. Abra el archivo authorized_keys utilizando un editor de texto, como nano:
    nano ~/.ssh/authorized_keys

    Si el archivo no existe, este comando lo creará.

  2. Pega tu clave pública SSH (la que copiaste de id_rsa.pub anteriormente) en el archivo. Haz clic con el botón derecho del ratón o utiliza la función de pegado del terminal para insertar la clave.
  3. Guarda y cierra el archivo pulsando Ctrl X, luego Y, y pulsa Intro.
  4. Establece los permisos correctos en el archivo authorized_keys:
    chmod 600 ~/.ssh/authorized_keys

Este paso garantiza que sólo el usuario actual pueda acceder al archivo.

Paso 5: Probar el inicio de sesión con clave SSH

Después de añadir su clave SSH al VPS, debe probar la configuración para asegurarse de que puede iniciar sesión sin contraseña.

  1. Salga de la sesión SSH actual escribiendo:
    exit
  2. Ahora, intente volver a iniciar sesión en el VPS utilizando su clave SSH:
    ssh root@tu_vps_ip

    Si todo está configurado correctamente

  3. podrá iniciar sesión en el VPS sin que se le pida una contraseña.

Paso 6 (Opcional): Desactivar Autenticación por Contraseña

Para mayor seguridad, puede desactivar la autenticación basada en contraseña, permitiendo que sólo los usuarios con una clave SSH accedan al VPS. Este paso es opcional pero recomendado para entornos donde la seguridad es una prioridad.

Para deshabilitar la autenticación por contraseña:

  1. Abra el archivo de configuración SSH en su VPS:
    nano /etc/ssh/sshd_config
  2. Busque las siguientes líneas en el archivo de configuración y asegúrese de que se establecen de la siguiente manera:
    PasswordAuthentication no
    PubkeyAuthentication yes
  3. Guarde y cierre el archivo pulsando Ctrl X , luego Y, y pulse Intro.
  4. Reinicie el servicio SSH para aplicar los cambios:
    systemctl restart sshd

Ahora, sólo los usuarios con una clave SSH válida podrán iniciar sesión en el VPS.

Paso 7: Gestión de múltiples claves SSH

Si administra múltiples VPS o servidores remotos, puede que desee organizar sus claves SSH y configurar su archivo ~/.ssh/config para mayor comodidad. Aquí hay un ejemplo de configuración que le permite especificar diferentes claves SSH para diferentes servidores:

Host myvps HostName your_vps_ip
Usuario root
IdentityFile ~/.ssh/id_rsa

Después de añadir esto a su archivo de configuración SSH(~/.ssh/config), puede simplemente iniciar sesión con:

ssh myvps

Conclusión

Añadir una clave pública SSH a un VPS existente mejora significativamente la seguridad de su servidor remoto a la vez que simplifica el proceso de inicio de sesión. Siguiendo esta guía, puede cargar fácilmente su clave pública SSH y configurar su VPS para el inicio de sesión sin contraseña. Para mayor seguridad, considere deshabilitar la autenticación de contraseña por completo, asegurando que sólo las claves SSH autorizadas puedan acceder a su VPS. Esta configuración no sólo protege su servidor de accesos no autorizados, sino que también agiliza su flujo de trabajo al eliminar la necesidad de introducir contraseñas cada vez que inicie sesión.

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