Volver a la wiki

Hetzner SSH Key Setup

Hetzner SSH Key Setup

OS: Ubuntu 24.04.4 LTS Última actualización: 07-04-2026


Servidores

EntornoIPHostnameTipo
Producción116.203.31.166crearack.comCCX — 4 vCPU, 16GB RAM
Staging178.104.131.173—CX23 — 1 vCPU, 4GB RAM

Conexión Actual

# Producción (cualquiera de las dos formas)
ssh root@crearack.com
ssh root@116.203.31.166

# Staging
ssh root@178.104.131.173

Configuración SSH Recomendada (~/.ssh/config)

Añadir a C:\Users\edudo\.ssh\config para usar alias cortos:

Host crearack-prod
    HostName 116.203.31.166
    User root
    IdentityFile ~/.ssh/id_ed25519

Host crearack-staging
    HostName 178.104.131.173
    User root
    IdentityFile ~/.ssh/id_ed25519

Con esta config puedes conectar con:

ssh crearack-prod
ssh crearack-staging

Configurar SSH en un Nuevo Ordenador

1. Generar par de claves

ssh-keygen -t ed25519 -C "tu-email@ejemplo.com"

Esto crea:

2. Copiar la clave pública al servidor

Opción A — Desde un PC que ya tiene acceso SSH:

# Producción
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@116.203.31.166 "cat >> /root/.ssh/authorized_keys"

# Staging
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@178.104.131.173 "cat >> /root/.ssh/authorized_keys"

Nota: Usar >> (append) para no borrar claves existentes.

Opción B — Sin acceso SSH previo (consola web Hetzner):

  1. Ir a Hetzner Cloud Console → Servers → crearack-prod → Console
  2. Habilitar temporalmente login con contraseña:
    sudo su
    echo "PasswordAuthentication yes" > /etc/ssh/sshd_config.d/root.conf
    echo "PermitRootLogin yes" >> /etc/ssh/sshd_config.d/root.conf
    passwd root
    systemctl stop ssh && systemctl start ssh
  3. Desde PowerShell del nuevo PC:
    type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@116.203.31.166 "cat >> /root/.ssh/authorized_keys"
    (Pedirá la contraseña de root que acabas de crear)
  4. Deshabilitar login con contraseña:
    sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config.d/root.conf
    systemctl restart ssh

3. Verificar conexión

# Producción
ssh root@116.203.31.166

# Staging
ssh root@178.104.131.173

Debe conectar sin pedir contraseña.


Configuración SSH del Servidor

ArchivoContenido
/etc/ssh/sshd_config.d/root.confPermitRootLogin yes + PasswordAuthentication no
/root/.ssh/authorized_keysClaves públicas autorizadas

Permisos requeridos:

/root/.ssh/              → 700 (drwx------)
/root/.ssh/authorized_keys → 600 (-rw-------)

Troubleshooting

“Connection timed out”

“Permission denied (publickey)”

La consola web de Hetzner corta texto al pegar


Scripts de Mantenimiento

Los scripts .bat en scripts/ usan esta conexión SSH:

ScriptFunciónModifica
HETZNER_ESTADO.batDiagnóstico: disco, memoria, Docker, logs, uptimeNo (solo lectura)
HETZNER_LIMPIAR.batLimpieza: Docker prune, logs, journalSí (pide confirmación)

Seguridad

Véase también

Subir