Servidores y VPS

Cómo configurar un VPS desde cero: guía paso a paso

Aprende a configurar un servidor VPS desde cero con esta guía paso a paso: acceso SSH, seguridad básica, firewall, usuarios y primeros servicios.

Close-up image of ethernet cables plugged into a network switch, showcasing IT infrastructure.

Para configurar un VPS desde cero necesitas conectarte por SSH como root, asegurar el acceso, crear un usuario con privilegios y luego instalar los servicios que necesites. El proceso toma menos de 30 minutos si sigues los pasos en orden.

Esta guía cubre exactamente eso: desde el primer acceso hasta tener un servidor listo para producción, explicado de forma práctica y sin rodeos.

Paso 1 — Primer acceso SSH a tu VPS

En cuanto tu proveedor aprovisiona el VPS recibes una IP pública y una contraseña (o llave SSH) para el usuario root. Abre una terminal y conéctate:

ssh root@IP_DEL_SERVIDOR

Si usas Windows, puedes usar PuTTY o el cliente SSH integrado en PowerShell (Windows 10 en adelante).

Al entrar verás algo como root@hostname:~#. Eso significa que tienes control total del servidor. Úsalo con cuidado.

Paso 2 — Actualizar el sistema operativo

Lo primero siempre es actualizar paquetes. Un sistema desactualizado tiene vulnerabilidades conocidas que los bots explotan automáticamente en cuestión de horas.

En Ubuntu / Debian:

apt update && apt upgrade -y

En CentOS / AlmaLinux / Rocky Linux:

dnf update -y

Reinicia si el kernel fue actualizado:

reboot

Espera un minuto y vuelve a conectarte por SSH.

Paso 3 — Crear un usuario no-root con sudo

Trabajar siempre como root es peligroso: un error tipográfico puede borrar archivos críticos. Crea un usuario dedicado:

adduser deploy
usermod -aG sudo deploy

En distribuciones RHEL-based el grupo es wheel:

usermod -aG wheel deploy

Luego verifica que puede usar sudo:

su - deploy
sudo whoami    # debe responder: root

Paso 4 — Configurar autenticación por llave SSH y deshabilitar contraseñas

Las contraseñas son el vector de ataque favorito de los bots de fuerza bruta. Las llaves SSH son criptográficamente superiores y prácticamente imposibles de romper.

Generar la llave en tu máquina local

ssh-keygen -t ed25519 -C "mi-vps"

Copia la llave pública al servidor:

ssh-copy-id deploy@IP_DEL_SERVIDOR

O manualmente: copia el contenido de ~/.ssh/id_ed25519.pub y pégalo en /home/deploy/.ssh/authorized_keys en el servidor.

Deshabilitar el login por contraseña y de root

Edita /etc/ssh/sshd_config y ajusta estas líneas:

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

Reinicia el servicio SSH:

systemctl restart sshd

Importante: antes de cerrar la sesión actual, abre otra terminal y verifica que puedes entrar con la llave. Si algo sale mal y todavía tienes la sesión abierta, puedes revertir los cambios.

Paso 5 — Configurar el firewall

Un firewall limita qué puertos son accesibles desde internet. La regla de oro: bloquear todo por defecto, abrir solo lo necesario.

Con UFW (Ubuntu/Debian)

ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp      # SSH
ufw allow 80/tcp      # HTTP
ufw allow 443/tcp     # HTTPS
ufw enable
ufw status

Con firewalld (CentOS/AlmaLinux)

firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Si cambias el puerto SSH (recomendado para reducir ruido de bots), recuerda abrir el nuevo puerto antes de cerrar el 22.

Paso 6 — Ajustes de seguridad adicionales

Con el acceso y el firewall configurados, hay algunos ajustes rápidos que marcan una gran diferencia:

  • Fail2ban: bloquea IPs que intentan fuerza bruta. apt install fail2ban y listo con la configuración por defecto.
  • Zona horaria: timedatectl set-timezone America/Mexico_City — facilita leer logs.
  • Nombre de host: hostnamectl set-hostname mi-servidor.
  • Actualizaciones automáticas de seguridad: en Ubuntu, instala unattended-upgrades y actívalo.
  • Swap: si tu VPS tiene poca RAM (<2 GB), crea un archivo de swap para evitar OOM kills.

Crear swap (opcional pero recomendado en VPS pequeños)

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab

Resumen rápido: qué tienes al final

Capa Configurado
Sistema operativo Actualizado
Acceso Usuario no-root + llave SSH
Red Firewall activo, puertos mínimos
Seguridad Root SSH deshabilitado, Fail2ban
Estabilidad Swap (opcional), zona horaria

Desde aquí puedes instalar lo que necesites: un stack LAMP, Nginx, Node.js, Docker o cualquier otro servicio. Consulta el resto de los tutoriales en nuestra categoría de servidores VPS para los siguientes pasos.

Si quieres un VPS ya preconfigurado y con soporte en español, en elenlace.com encontrarás planes con panel de control y asistencia incluida.

Conclusiones clave

  • El orden importa: actualiza el sistema antes de cualquier otra cosa.
  • Nunca trabajes como root de forma habitual; crea un usuario con sudo.
  • Deshabilitar el login por contraseña elimina el 99 % del ruido de bots SSH.
  • Un firewall que niega todo por defecto es más seguro que uno que intenta bloquear ataques específicos.
  • Fail2ban y actualizaciones automáticas de seguridad son el mínimo viable para producción.

¿Listo para instalar tu primer stack? Visita elenlace.com y descubre los planes de VPS administrado pensados para proyectos en México y América Latina.

Preguntas frecuentes

¿Qué sistema operativo debo elegir para mi VPS?

Ubuntu LTS (22.04 o 24.04) es la opción más popular y con mayor documentación. CentOS Stream / AlmaLinux es preferido en entornos corporativos que requieren compatibilidad RHEL. Para empezar, Ubuntu LTS es la mejor elección.

¿Puedo configurar un VPS sin saber Linux?

Con la guía correcta es posible, pero se recomienda conocer los comandos básicos de la terminal (navegar directorios, editar archivos con nano, reiniciar servicios). Si prefieres evitar la línea de comandos, un VPS con panel cPanel/Plesk simplifica la administración.

¿Cuánto tarda la configuración inicial de un VPS?

Siguiendo esta guía, el proceso completo (SSH, usuario, firewall, Fail2ban) tarda entre 15 y 30 minutos. Las actualizaciones del sistema pueden tardar algo más dependiendo del proveedor y la imagen base.

¿Cada cuánto debo actualizar mi VPS?

Idealmente instala actualizaciones de seguridad de forma automática (unattended-upgrades en Ubuntu) y realiza actualizaciones manuales completas al menos una vez al mes. Revisa los changelogs antes de actualizar paquetes críticos como el kernel en producción.

Para saber más

Otros proveedores y guías que vale la pena comparar:

← Todos