−25%

en Windows con pago anual, hasta el 31/10. Ver planes

EQVPS
Empezar

Cómo configurar un VPS con Rocky Linux: primeros pasos tras recibir root

Los primeros diez minutos en un VPS nuevo con Rocky Linux 9: actualizar con dnf, crear un usuario sudo con tu clave SSH, desactivar el acceso root y por contraseña, activar firewalld y las actualizaciones de seguridad automáticas. Cada comando probado en nuestra imagen.

Rocky Linux 9 es la opción gratuita compatible con RHEL: los mismos paquetes, el mismo dnf, los mismos firewalld y SELinux. Si ya configuraste Debian o Ubuntu, el orden de los pasos es idéntico; cambian las herramientas. Estos son los primeros diez minutos en un servidor Rocky 9 recién creado.

Ejecutamos cada comando de abajo en nuestra imagen de Rocky Linux 9 antes de publicar. En un servidor limpio, toda la secuencia lleva un par de minutos.

1. Actualiza el sistema

Entra como root con la contraseña del panel y actualiza:

dnf -y upgrade

En nuestra imagen tardó segundos en la prueba, porque la imagen ya estaba al día.

2. Crea un usuario sudo y añade tu clave SSH

En Rocky el grupo de administradores es wheel, no sudo:

useradd -m -G wheel deploy
passwd deploy                      # sudo will ask for this password

Sube tu clave pública al servidor (cómo crear una). Si la copiaste a /root/key.pub:

install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
install -m 600 -o deploy -g deploy /root/key.pub /home/deploy/.ssh/authorized_keys
restorecon -R /home/deploy/.ssh

restorecon pone las etiquetas de SELinux que sshd espera. Con una etiqueta incorrecta, el acceso por clave falla sin un error claro.

Abre una segunda terminal y comprueba que ssh deploy@YOUR.SERVER.IP funciona y que sudo -v acepta la contraseña. Mantén abierta la sesión de root hasta entonces.

3. Desactiva el acceso root y por contraseña

Aquí Rocky se aparta de la edición de manual de sshd_config. Los ajustes viven en archivos dentro de /etc/ssh/sshd_config.d/, y sshd usa el primer valor que encuentra. En nuestra imagen el primer archivo es 00-eqvps.conf, que permite root y contraseña para que puedas entrar el primer día. Cámbialo ahí:

sed -i -e 's/^PermitRootLogin .*/PermitRootLogin no/' \
       -e 's/^PasswordAuthentication .*/PasswordAuthentication no/' \
       /etc/ssh/sshd_config.d/00-eqvps.conf
sshd -t && systemctl reload sshd
sshd -T | grep -E '^(permitrootlogin|passwordauthentication) '

El último comando muestra lo que sshd aplicará de verdad. Debes ver:

permitrootlogin no
passwordauthentication no

A partir de aquí ssh root@… se rechaza incluso con clave, y deploy entra solo con su clave.

4. Cortafuegos: firewalld

La imagen cloud no incluye firewalld. Instálalo, arráncalo y deja solo lo necesario:

dnf -y install firewalld
systemctl enable --now firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --remove-service=cockpit
firewall-cmd --reload
firewall-cmd --list-services

La zona predeterminada abre cockpit (puerto 9090) y dhcpv6-client. Cockpit no está instalado, pero no hay motivo para dejar su puerto abierto. Cuando añadas una aplicación, abre su puerto igual, por ejemplo firewall-cmd --permanent --add-service=https.

5. Actualizaciones de seguridad automáticas

dnf-automatic descarga actualizaciones con un temporizador. Por defecto no las instala, así que actívalo:

dnf -y install dnf-automatic
sed -i 's/^apply_updates = .*/apply_updates = yes/' /etc/dnf/automatic.conf
systemctl enable --now dnf-automatic.timer
systemctl list-timers dnf-automatic.timer

Si prefieres solo parches de seguridad, pon también upgrade_type = security en el mismo archivo.

6. Deja SELinux activado

getenforce muestra Enforcing en un servidor nuevo, y todo lo anterior funciona con él. Cuando una aplicación necesita un puerto o directorio no estándar, la solución es una etiqueta (semanage port, restorecon), no setenforce 0.

Qué plan elegir

Rocky 9 usa unos 400 MB de RAM en reposo. El plan Nano (1 GB, $3/mes) basta para un servicio pequeño; Micro (2 GB, $5/mes) deja sitio para una base de datos. En los planes NAT, SSH entra por un puerto personal que ves en el panel. Si necesitas los puertos 80/443 abiertos a todo el mundo, elige un plan con IPv4 propia, como Micro-IP por $10/mes.

Rocky Linux 9 es una de las imágenes de la página de la familia RHEL y está en todos los planes de VPS. El pago es en USDT, USDC o ETH en Base, Ethereum o Polygon. Sin documentos ni tarjeta. Si prefieres manejar el servidor desde scripts, la documentación de la API cubre pedidos, reinstalación y renovación.

Preguntas frecuentes

¿Rocky Linux es lo mismo que RHEL?

Se compila a partir de las mismas fuentes y busca ser totalmente compatible con Red Hat Enterprise Linux 9, así que las guías, paquetes y hábitos de RHEL (dnf, firewalld, SELinux) sirven aquí. No necesitas una suscripción de Red Hat.

¿Por qué mi cambio de SSH no surte efecto en Rocky?

Rocky lee los archivos de /etc/ssh/sshd_config.d/ por orden de nombre, y para cada ajuste gana el primer valor que encuentra. En nuestra imagen el primer archivo es 00-eqvps.conf, así que cambia el ajuste ahí y confirma el resultado con sshd -T antes de cerrar la sesión.

¿Debo desactivar SELinux?

No. En una instalación nueva está en Enforcing y todos los pasos de aquí funcionan con él. Si creas archivos para SSH o un servidor web en lugares poco habituales, restorecon -R sobre esa ruta corrige las etiquetas. Desactivar SELinux por un problema de etiquetas quita una capa de protección real.

¿Puedo cambiar el puerto SSH?

En un plan con IPv4 propia sí, siempre que permitas el nuevo puerto en firewalld y en SELinux. En un plan NAT deja sshd en el 22: tu puerto externo personal ya está redirigido al 22 dentro del servidor, y mover sshd rompe esa redirección.

¿Qué plan basta para Rocky Linux?

Rocky 9 ocupa unos 400 MB de RAM en reposo, así que el Nano de 1 GB sirve para un servicio pequeño. Con una base de datos o contenedores, el Micro de 2 GB es más holgado.

Comentarios

Aún no hay comentarios. Sé el primero.

Deja un comentario

Los comentarios se moderan antes de aparecer.