Créer un nouvel utilisateur
Remplacez 'alex' par le nom d'utilisateur souhaité.
adduser alex # Remplacez 'alex' par votre nom
usermod -aG sudo alexGuide pour l'installation et la maintenance sécurisées de OpenClaw (Clawdbot) sur un VPS durci.
Procédure recommandée : durcissement du système, utilisateur non root, pare-feu, SSH par clé, périmètre privé (Tailscale), persistance du service et mises à jour de sécurité automatiques.
⚠️ Exécutez les étapes dans l'ordre indiqué pour ne pas perdre l'accès au serveur.
Création d'un utilisateur non root avant le durcissement de l'accès.
Remplacez 'alex' par le nom d'utilisateur souhaité.
adduser alex # Remplacez 'alex' par votre nom
usermod -aG sudo alexÀ exécuter depuis la machine locale.
ssh-copy-id alex@IP_DE_VOTRE_SERVEURNe pas continuer si la connexion échoue.
ssh alex@IP_DE_VOTRE_SERVEURPare-feu, mises à jour automatiques et restriction 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
# Après avoir modifié les directives, redémarrer le service :
sudo systemctl restart sshLocaliser et définir les directives suivantes :
PasswordAuthentication noPermitRootLogin noPubkeyAuthentication yesRestriction du serveur au réseau privé Tailscale.
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up# Autoriser le trafic du sous-réseau interne Tailscale
sudo ufw allow from 100.64.0.0/10 to any port 22 proto tcp
# Supprimer la règle qui ouvrait SSH au monde entier
sudo ufw delete allow sshInstallation du bot, permissions des credentials et démarrage automatique 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 vous utilisez un fichier .envpm2 start clawdbot --name "ai-bot"
pm2 save
pm2 startup
# (Copiez et exécutez la commande retournée par le terminal)Vérification du durcissement et des ports exposés.
clawdbot security audit --deepDans la colonne "Local Address", 0.0.0.0 (public) ne doit pas apparaître sur les ports sensibles, sauf SSH si la phase 3 n'a pas encore été appliquée.
sudo ufw status verbose
ss -tulnp | grep LISTENAccès par clé : accès exclusif via clé privée SSH.
Périmètre privé : le serveur ne répond pas aux pings externes (hors Tailscale).
Mises à jour et résilience : correctifs automatiques et redémarrage du service en cas de panne.
Privilège minimum : credentials et fichiers sensibles avec permissions restreintes.