Crear nuevo usuario
Sustituya 'alex' por el nombre de usuario deseado.
adduser alex # Cambia 'alex' por tu nombre
usermod -aG sudo alexGuía para la instalación y el mantenimiento seguro de OpenClaw (Clawdbot) en un VPS endurecido.
Procedimiento recomendado: endurecimiento del sistema, usuario no root, firewall, SSH por clave, perímetro privado (Tailscale), persistencia del servicio y actualizaciones automáticas de seguridad.
⚠️ Ejecute los pasos en el orden indicado para no bloquear el acceso al servidor.
Creación de un usuario no root antes de endurecer el acceso.
Sustituya 'alex' por el nombre de usuario deseado.
adduser alex # Cambia 'alex' por tu nombre
usermod -aG sudo alexEjecutar desde la máquina local.
ssh-copy-id alex@IP_DE_TU_SERVIDORNo continuar si la conexión falla.
ssh alex@IP_DE_TU_SERVIDORConfiguración de firewall, actualizaciones automáticas y restricción de SSH.
sudo apt update && sudo apt upgrade -y
sudo apt install unattended-upgrades fail2ban -y
sudo dpkg-reconfigure -plow unattended-upgradessudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw enablesudo nano /etc/ssh/sshd_config
# Tras editar las directivas indicadas, reiniciar el servicio:
sudo systemctl restart sshLocalice y configure las siguientes directivas:
PasswordAuthentication noPermitRootLogin noPubkeyAuthentication yesRestricción del servidor a la red privada Tailscale.
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up# Permitir tráfico desde la subred interna de Tailscale
sudo ufw allow from 100.64.0.0/10 to any port 22 proto tcp
# Eliminar la regla que abría SSH al mundo entero
sudo ufw delete allow sshInstalación del bot, permisos de credenciales e inicio automático con PM2.
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
sudo npm install -g pm2npm install -g clawdbot
clawdbot doctorchmod 700 ~/.clawdbot/credentials
chmod 600 .env # Si usas archivo de variablespm2 start clawdbot --name "ai-bot"
pm2 save
pm2 startup
# (Copia y pega el comando que te devuelva la terminal)Comprobación del endurecimiento y de los puertos expuestos.
clawdbot security audit --deepEn la columna "Local Address" no debe aparecer 0.0.0.0 (público) en puertos sensibles, salvo SSH si aún no se ha aplicado la fase 3.
sudo ufw status verbose
ss -tulnp | grep LISTENAcceso por clave: acceso exclusivo mediante clave privada SSH.
Perímetro privado: el servidor no responde a pings externos (fuera de Tailscale).
Actualizaciones y resiliencia: parches automáticos y reinicio del servicio tras fallos.
Permisos mínimos: credenciales y archivos sensibles con permisos restringidos.