Introducción
Para acceder de forma segura a su instancia de Hetzner desde su ordenador local, se recomienda usar una clave SSH. En este tutorial, le mostraré cómo configurar un inicio de sesión seguro con su clave SSH en una nueva instancia de Hetzner.
Las contraseñas suelen ser muy débiles. Si aumentas la seguridad de la contraseña, se vuelve muy difícil recordarla, por lo que es inevitable usar un administrador de contraseñas. Las claves SSH también se benefician de su longitud. Pueden tener hasta 4096 bits. También puedes usar diferentes algoritmos como ECC (Criptografía de Curva Elíptica) con el estándar ed25519, que también usaremos en este tutorial.
Requisitos previos
- Una cuenta en la nube de Hetzner
- Permisos para crear un proyecto Hetzner y una instancia Hetzner
- ssh-keygen, cat y nano instalados en su computadora local
Paso 1: Crea tu clave SSH local
Necesita crear una clave SSH en su equipo local. Se recomienda añadir un comentario al final para identificar la clave SSH en el futuro. Puede ser útil obtener información sobre el equipo. Por ejemplo:
Clave SSH - MacBook Pro de 13 pulgadas - [email protected]
ssh-keygen -t ed25519 -C "some comment here"
Se le solicitará el nombre y la ubicación del archivo de la clave SSH. Para dejar el nombre predeterminado (ed25519) y la ubicación (/home/user/.ssh/), simplemente presione Enter. Si desea nombrar el archivo para distinguir entre varias claves de varios servidores, puede escribir /home/user/.ssh/server01, donde "usuario" debe reemplazarse por su nombre de usuario.
Luego, debe configurar su contraseña para mayor seguridad del servidor. Hay muchos tutoriales en YouTube y en internet que simplemente omiten o no recomiendan agregar una frase de contraseña. Recomendamos encarecidamente configurar una frase de contraseña para configurar una instancia segura. Esta frase protege la clave privada, por lo que nadie podrá acceder al servidor, incluso si tienen acceso a su computadora. Puede configurar su cliente SSH para que se comunique con keypass y así evitar tener que ingresar la contraseña cada vez, pero tenga en cuenta que keypass suele estar siempre activado, por lo que el acceso directo a su sesión iniciada no impide el acceso no autorizado al servidor en ese momento. Sin embargo, esto protege a cualquiera de copiar el archivo y usarlo en otra computadora. De forma predeterminada, este comando crea una clave pública y una clave privada llamadas id_ed25519.pub e id_ed25519, que se almacenan en el directorio ~/.ssh/. El archivo id_ed25519.pub es la clave pública que el servidor necesita para autenticar al usuario, y el archivo id_ed25519 es su clave privada a la que nadie más que usted debe tener acceso, especialmente si omite el paso de establecer una frase de contraseña.
Paso 2: agregue la clave SSH a su consola Hetzner Cloud
En este punto, es importante aclarar que las claves SSH no se comparten entre los proyectos de Hetzner. Esto significa que deberá repetir este paso con la misma clave o con claves diferentes para cada nuevo proyecto.
- Seleccione un proyecto o cree uno nuevo.
- En el menú de la izquierda de su proyecto, seleccione el elemento de menú Seguridad.
- Haga clic en el botón Agregar clave SSH.
- En su máquina local, ejecute el comando cat /home/user/.ssh/id_ed25519.pub para ver el contenido de su archivo o abrirlo en un editor.
- Copie el contenido de su archivo id_ed25519.pub desde su dispositivo local al portapapeles seleccionando Salida y usando Ctrl+Shift+C.
- Coloque la clave SSH en el campo designado en su cuenta de Hetzner
- Agregue un nombre para la clave SSH para identificarla en Hetzner Cloud Console o deje el nombre generado automáticamente según el nombre de la clave.
- Listo. Esta clave SSH específica está lista para usar cada vez que crees una nueva instancia para este proyecto.
Paso 3: Cree una instancia de Hetzner con la clave SSH agregada en Cloud Console
- En el menú izquierdo del proyecto donde agregó la clave SSH en el paso anterior, seleccione el elemento de menú Servidores.
- Haga clic en el botón Agregar servidor.
- Elija una ubicación, un sistema operativo, un tipo y otras configuraciones deseadas.
- En la sección Clave SSH, asegúrese de hacer clic en la clave SSH sugerida que agregó en el paso anterior. El campo Clave debe estar resaltado.
- Crea la muestra haciendo clic en Crear y comprar.
Paso 4: Pruebe el inicio de sesión con la clave SSH desde su computadora local
- Copiar la dirección IP de la instancia de Hetzner
- Para empezar, inicia sesión en tu ordenador local. Reemplaza xxx.xxx.xxx.xxx por la dirección IP de la instancia de Hetzner que creaste.
- Escriba sí para agregar la huella digital al archivo known_host.
- Introduzca la contraseña que estableció para la clave SSH.
- Y listo. Si ves el mensaje de bienvenida de ejemplo de Ubuntu Hetzner, el proceso se realizó correctamente.
Paso 5 – Agregar una clave SSH a un servidor creado previamente
Si creó su servidor antes de agregar la clave SSH, no podrá asignarla a su servidor a través de la Consola en la nube.
Es mejor probar esto primero en un servidor nuevo para no perder la conexión SSH a un entorno de producción. Como solo toma unos minutos, puedes poner en funcionamiento un servidor rápidamente y, en el peor de los casos, solo unos pocos centavos. Así que crea un servidor nuevo sin claves SSH y sigue estos pasos.
El contenido de su archivo de clave pública utilizando:
cat /home/user/.ssh/id_ed25519.pub
Seleccione la salida usando Ctrl+Shift+C
Inicie sesión en su servidor usando:
ssh root@server_ip
Escribe la clave del servidor:
- Como usuario root:
echo "keyfile_content" >> /root/.ssh/authorized_keys
- Como cualquier otro usuario:
echo "keyfile_content" >> /home/user/.ssh/authorized_keys
Reemplace keyfile_content con el contenido de id_ed25519.pub que acaba de copiar. Reemplace user con nombre de usuario.
nano /etc/ssh/sshd_config
Si está instalado, puede reemplazar nano con su editor preferido.
Si desea deshabilitar el inicio de sesión con contraseña, busque una línea con PermitRootLogin y cámbiela exactamente a:
PermitRootLogin prohibit-password
Esto deshabilita el uso de contraseñas inseguras y solo acepta sus claves SSH.
Para recargar su demonio SSH para activar la nueva configuración, ejecute:
systemctl restart sshd
Salga de la sesión SSH e intente acceder sin contraseña. Si ha configurado una contraseña para proteger su clave privada local, deberá introducirla igualmente.
Si siguió estos pasos cuidadosamente y todo funciona según lo planeado, ahora puede continuar con su servidor de producción y eliminar nuevamente el servidor de prueba.
Resultado
Ahora puedes iniciar sesión en tu instancia de Hetzner de forma segura.









