Comment acceder a OpenClaw a distance en toute securite
Apprenez a exposer en toute securite votre passerelle OpenClaw pour l'acces a distance en utilisant des tunnels SSH, des proxys inverses et des VPN tout en maintenant la securite.
OpenClaw Guides
Tutorial Authors
Pourquoi l'acces a distance ?
Par defaut, OpenClaw se lie a 127.0.0.1 (localhost uniquement), ce qui est la configuration la plus securisee. Cependant, vous pourriez avoir besoin d'un acces a distance quand :
- Vous executez OpenClaw sur un serveur domestique pendant vos deplacements
- Vous hebergez sur un VPS et vous connectez depuis plusieurs appareils
- Vous partagez votre assistant IA sur votre reseau local
Avertissement : N'exposez jamais OpenClaw directement sur Internet sans authentification et chiffrement adequats. Ce guide couvre uniquement les methodes securisees.
Methode 1 : Tunnel SSH (Recommande pour usage personnel)
Le tunneling SSH est la methode la plus simple et la plus securisee pour l'acces a distance personnel.
Sur votre serveur distant
Assurez-vous qu'OpenClaw fonctionne sur localhost :
openclaw gateway start # Gateway listening on http://127.0.0.1:18789
Sur votre machine locale
Creez un tunnel SSH :
ssh -L 18789:localhost:18789 user@your-server-ip
Maintenant vous pouvez acceder a OpenClaw sur http://localhost:18789 depuis votre machine locale.
Tunnel SSH persistant avec autossh
Pour un tunnel qui se reconnecte automatiquement :
# Installer autossh # macOS brew install autossh # Ubuntu/Debian sudo apt install autossh # Creer un tunnel persistant autossh -M 0 -f -N -L 18789:localhost:18789 user@your-server-ip
Methode 2 : Proxy inverse avec Nginx
Pour des configurations plus avancees, utilisez Nginx comme proxy inverse avec terminaison SSL.
Installer Nginx et Certbot
# Ubuntu/Debian sudo apt update sudo apt install nginx certbot python3-certbot-nginx
Configurer Nginx
Creez /etc/nginx/sites-available/openclaw :
server {
listen 80;
server_name openclaw.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:18789;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
}
}
Activez le site :
sudo ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginx
Ajouter SSL avec Let's Encrypt
sudo certbot --nginx -d openclaw.yourdomain.com
Ajouter l'authentification basique
Generez un fichier de mot de passe :
sudo apt install apache2-utils sudo htpasswd -c /etc/nginx/.htpasswd your-username
Mettez a jour votre configuration Nginx :
server {
listen 443 ssl;
server_name openclaw.yourdomain.com;
# Configuration SSL ajoutee par certbot...
location / {
auth_basic "OpenClaw Access";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://127.0.0.1:18789;
# ... autres parametres proxy
}
}
Methode 3 : VPN WireGuard
Pour la securite maximale, utilisez un VPN pour acceder a votre reseau domestique.
Installer WireGuard
# Serveur (Ubuntu/Debian) sudo apt install wireguard # Generer les cles wg genkey | tee privatekey | wg pubkey > publickey
Configuration du serveur
Creez /etc/wireguard/wg0.conf :
[Interface] PrivateKey = <server-private-key> Address = 10.0.0.1/24 ListenPort = 51820 [Peer] PublicKey = <client-public-key> AllowedIPs = 10.0.0.2/32
Configuration du client
[Interface] PrivateKey = <client-private-key> Address = 10.0.0.2/24 [Peer] PublicKey = <server-public-key> Endpoint = your-server-ip:51820 AllowedIPs = 10.0.0.1/32 PersistentKeepalive = 25
Demarrer WireGuard
# Serveur sudo wg-quick up wg0 sudo systemctl enable wg-quick@wg0 # Client sudo wg-quick up wg0
Maintenant accedez a OpenClaw via l'IP VPN : http://10.0.0.1:18789
Methode 4 : Tunnel Cloudflare (Zero Trust)
Cloudflare Tunnel fournit un acces securise sans exposer de ports.
Installer cloudflared
# macOS brew install cloudflare/cloudflare/cloudflared # Linux curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb sudo dpkg -i cloudflared.deb
Authentifier et creer le tunnel
cloudflared tunnel login cloudflared tunnel create openclaw
Configurer le tunnel
Creez ~/.cloudflared/config.yml :
tunnel: <tunnel-id>
credentials-file: /home/user/.cloudflared/<tunnel-id>.json
ingress:
- hostname: openclaw.yourdomain.com
service: http://localhost:18789
- service: http_status:404
Executer le tunnel
cloudflared tunnel route dns openclaw openclaw.yourdomain.com cloudflared tunnel run openclaw
Bonnes pratiques de securite
1. Activer la limitation de debit
Dans votre ~/.openclaw/openclaw.json :
{
"security": {
"rateLimiting": {
"enabled": true,
"maxRequests": 60,
"windowMs": 60000
}
}
}
2. Utiliser des cles API fortes
# Effectuez regulierement la rotation de vos cles API openclaw config set api-key
3. Surveiller les logs d'acces
# Verifier les logs de la passerelle openclaw logs --follow
4. Configurer Fail2Ban (pour Nginx)
sudo apt install fail2ban # Creer /etc/fail2ban/jail.local [nginx-http-auth] enabled = true
Tableau comparatif
| Methode | Securite | Complexite | Ideal pour | |---------|----------|------------|------------| | Tunnel SSH | Elevee | Faible | Usage personnel | | Nginx + SSL | Elevee | Moyenne | Acces public | | VPN WireGuard | Tres elevee | Moyenne | Acces equipe | | Tunnel Cloudflare | Elevee | Faible | Configuration zero-trust |