Primeros pasos con tu VPS: la primera hora, en orden
En pocas palabras
Un VPS con IP pública empieza a recibir intentos de ingreso por SSH al rato de encenderse, así que antes de instalar tu aplicación conviene dedicarle una hora a lo básico: actualizar el sistema, crear un usuario propio con sudo, entrar con clave SSH y apagar el ingreso con contraseña y el de root, encender el firewall con los puertos justos, fijar la zona horaria, activar las actualizaciones de seguridad automáticas y dejar un respaldo fuera del servidor. En un Cloud VPS el sistema operativo lo administrás vos: esta lista es tuya.
Lo primero: entrar y ver qué te entregaron
Con los datos del correo de bienvenida, entrá como root desde tu computadora. Antes de cambiar nada, mirá con qué estás trabajando:
ssh root@IP_DEL_VPS
cat /etc/os-release # distribución y versión
nproc && free -h # núcleos y memoria
df -h / # disco
ip -br address # direcciones IP
ss -tulpn # qué está escuchando- Fijate que la distribución y los recursos coincidan con el plan que contrataste.
- En
ss -tulpn, un sistema recién instalado debería mostrar SSH y poco más. Anotá lo que haya: es tu punto de partida.
Actualizar antes que nada
La imagen con la que se instaló el sistema puede tener semanas o meses, y desde entonces salieron parches de seguridad. Actualizá todo y reiniciá si se actualizó el núcleo.
| Tarea | Debian y Ubuntu | AlmaLinux |
|---|---|---|
| Actualizar todo | apt update && apt full-upgrade | dnf upgrade |
| ¿Hace falta reiniciar? | En Ubuntu, si existe /var/run/reboot-required; en Debian, si se actualizó un paquete linux-image | dnf needs-restarting -r |
| Reiniciar | reboot | reboot |
Tu usuario, con sudo
Trabajar siempre como root es tener el dedo sobre el botón rojo: un error de tipeo no pide confirmación. Creá tu usuario y dale permisos de administración; root queda para emergencias. Si sudo no existe, en Debian se instala con apt install sudo. El detalle, con los errores típicos, está en crear un usuario administrador con sudo.
| Debian y Ubuntu | AlmaLinux | |
|---|---|---|
| Crear el usuario | adduser ana | useradd -m ana && passwd ana |
| Darle sudo | usermod -aG sudo ana | usermod -aG wheel ana |
| Probar | su - ana y después sudo whoami | su - ana y después sudo whoami |
Clave SSH, y chau contraseñas
Desde tu computadora, no desde el VPS, generá un par de claves si todavía no tenés y copiá la pública al usuario nuevo. En Windows, ssh-keygen y ssh vienen con el sistema pero ssh-copy-id no: pegá el contenido de tu id_ed25519.pub en el archivo ~/.ssh/authorized_keys del usuario.
ssh-keygen -t ed25519 -C "ana@notebook"
ssh-copy-id ana@IP_DEL_VPS
ssh ana@IP_DEL_VPSCuando ya entrás con la clave, apagá el ingreso con contraseña y el de root con un archivo de configuración propio:
sudo tee /etc/ssh/sshd_config.d/00-endurecido.conf <<'EOF'
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no
EOF
sudo sshd -t && sudo systemctl restart ssh # en AlmaLinux: sshd
sudo sshd -T | grep -Ei "passwordauth|permitroot"- El nombre empieza con
00-a propósito: SSH se queda con el primer valor que lee, y algunas imágenes traen archivos como50-cloud-init.confo01-permitrootlogin.confque vuelven a habilitar la contraseña o root. El tuyo se lee antes. sshd -trevisa la sintaxis antes de reiniciar;sshd -Tmuestra la configuración que quedó vigente. Tiene que decirpasswordauthentication noypermitrootlogin no.- Probá entrar desde otra terminal antes de cerrar la actual.
Firewall y fail2ban
Encendé el firewall dejando pasar solo SSH y lo que vaya a usar tu aplicación, y sumá fail2ban para que las IP que insisten con contraseñas queden bloqueadas un rato. Los comandos para ufw y firewalld, qué puertos abrir y la configuración de fail2ban están en firewall y fail2ban en tu VPS. Lo mínimo, en Debian o Ubuntu:
sudo apt install ufw
sudo ufw allow OpenSSH
sudo ufw enableLa hora del servidor
Con la hora mal, los registros no sirven para reconstruir nada y algunos certificados fallan. Poné la zona horaria con la que vas a leer los registros y confirmá que el reloj se sincroniza solo:
sudo timedatectl set-timezone America/Argentina/Buenos_Aires
timedatectl- La salida tiene que decir
System clock synchronized: yes. - Si dice
no, instalá el servicio de hora:systemd-timesyncden Debian y Ubuntu, ochronyen AlmaLinux, que se enciende consystemctl enable --now chronyd.
Parches de seguridad sin tener que acordarte
| Debian y Ubuntu | AlmaLinux | |
|---|---|---|
| Instalar | apt install unattended-upgrades | dnf install dnf-automatic |
| Configurar | dpkg-reconfigure -plow unattended-upgrades y responder que sí | En /etc/dnf/automatic.conf, upgrade_type = security y apply_updates = yes |
| Activar | Queda activo al configurarlo | systemctl enable --now dnf-automatic.timer |
Así configurados, aplican solo los parches de seguridad. Los saltos grandes, como pasar a una versión nueva de la distribución, se planifican a mano y con un respaldo recién hecho.
El respaldo, fuera del VPS
En un Cloud VPS los respaldos corren por tu cuenta, y la regla es simple: la copia no puede vivir solo en el mismo servidor, porque lo que se lleve el servidor se lleva la copia. Armá una tarea diaria que copie la base de datos y los archivos importantes a otro lugar, y restaurá una vez para comprobar que sirve antes de poner nada en producción. Las opciones, de las instantáneas a las copias con restic o borg, están en snapshots y backups en un VPS.
Lo que conviene anotar hoy
- La IP, el puerto de SSH y qué usuarios pueden entrar.
- Dónde está guardada la clave privada y dónde su copia.
- Qué puertos abriste en el firewall y por qué.
- Qué instalaste, con qué versión y para qué.
- Adónde van los respaldos y cuándo fue la última restauración de prueba.
Preguntas frecuentes
¿Y si mi VPS tiene Windows Server?
Los principios son los mismos, con otras herramientas. Instalá las actualizaciones pendientes desde Windows Update, cambiá la contraseña del Administrador por una larga y única, creá un usuario propio para trabajar y, en el Firewall de Windows, limitá el escritorio remoto (puerto 3389) a tu IP. Si varias personas tienen que entrar, que lo hagan a través de una VPN.
¿Puedo dejar entrar a root solo con clave?
Sí: PermitRootLogin prohibit-password permite root con clave SSH y lo niega con contraseña. Es un punto intermedio aceptable si hay scripts que necesitan entrar como root. Para el trabajo diario, igual conviene tu usuario con sudo: queda registro de quién hizo qué.
¿Qué pasa si pierdo la clave privada?
Con el ingreso por contraseña apagado, no entrás por SSH. Para evitarlo, cargá en authorized_keys dos claves de dos equipos distintos y guardá una copia de la privada en un gestor de contraseñas. Si igual te pasa, escribinos por ticket.
¿Necesito instalar un panel como DirectAdmin o cPanel?
Solo si vas a alojar varios sitios con correo y querés administrarlos sin terminal. En un Cloud VPS podés sumar una licencia de cualquiera de los dos; para una sola aplicación, lo habitual es no usar panel y ahorrarte los recursos que consume.
Seguí leyendo
Firewall y fail2ban en un VPS Linux, sin quedarte afuera
Cómo activar ufw o firewalld sin cortar tu propio acceso, qué puertos abrir según lo que corre en el VPS y cómo frenar con fail2ban los ataques a SSH.
7 min de lectura
Claves SSH para entrar a tu servidor sin contraseña
Generar una clave ed25519 en Linux, macOS o Windows, cargarla en el servidor, usar el agente y apagar el acceso por contraseña sin quedarte afuera.
8 min de lectura
Snapshot o backup en un VPS: qué protege cada uno y cómo combinarlos
Un snapshot deshace un cambio en minutos; un backup te salva cuando falla algo más grande o te atacan. Cómo armar los dos en tu VPS y cómo probarlos.
6 min de lectura
