Como Acceder a OpenClaw de Forma Remota y Segura
Aprende como exponer de forma segura tu gateway de OpenClaw para acceso remoto usando tuneles SSH, proxies inversos y VPNs mientras mantienes la seguridad.
OpenClaw Guides
Tutorial Authors
Por Que Acceso Remoto?
Por defecto, OpenClaw se vincula a 127.0.0.1 (solo localhost), que es la configuracion mas segura. Sin embargo, podrias necesitar acceso remoto cuando:
- Ejecutas OpenClaw en un servidor domestico mientras viajas
- Alojas en un VPS y te conectas desde multiples dispositivos
- Compartes tu asistente de IA a traves de tu red local
Advertencia: Nunca expongas OpenClaw directamente a internet sin autenticacion y encriptacion adecuadas. Esta guia cubre solo metodos seguros.
Metodo 1: Tunel SSH (Recomendado para Uso Personal)
El tunelado SSH es el metodo mas simple y seguro para acceso remoto personal.
En Tu Servidor Remoto
Asegurate de que OpenClaw este corriendo en localhost:
openclaw gateway start # Gateway escuchando en http://127.0.0.1:18789
En Tu Maquina Local
Crea un tunel SSH:
ssh -L 18789:localhost:18789 usuario@ip-de-tu-servidor
Ahora puedes acceder a OpenClaw en http://localhost:18789 en tu maquina local.
Tunel SSH Persistente con autossh
Para un tunel que se reconecta automaticamente:
# Instalar autossh # macOS brew install autossh # Ubuntu/Debian sudo apt install autossh # Crear tunel persistente autossh -M 0 -f -N -L 18789:localhost:18789 usuario@ip-de-tu-servidor
Metodo 2: Proxy Inverso con Nginx
Para configuraciones mas avanzadas, usa Nginx como proxy inverso con terminacion SSL.
Instala Nginx y Certbot
# Ubuntu/Debian sudo apt update sudo apt install nginx certbot python3-certbot-nginx
Configura Nginx
Crea /etc/nginx/sites-available/openclaw:
server {
listen 80;
server_name openclaw.tudominio.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;
}
}
Habilita el sitio:
sudo ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginx
Agrega SSL con Let's Encrypt
sudo certbot --nginx -d openclaw.tudominio.com
Agrega Autenticacion Basica
Genera un archivo de contrasenas:
sudo apt install apache2-utils sudo htpasswd -c /etc/nginx/.htpasswd tu-usuario
Actualiza tu configuracion de Nginx:
server {
listen 443 ssl;
server_name openclaw.tudominio.com;
# Configuracion SSL agregada por certbot...
location / {
auth_basic "Acceso a OpenClaw";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://127.0.0.1:18789;
# ... otras configuraciones de proxy
}
}
Metodo 3: VPN WireGuard
Para la maxima seguridad, usa una VPN para acceder a tu red domestica.
Instala WireGuard
# Servidor (Ubuntu/Debian) sudo apt install wireguard # Generar claves wg genkey | tee privatekey | wg pubkey > publickey
Configuracion del Servidor
Crea /etc/wireguard/wg0.conf:
[Interface] PrivateKey = <clave-privada-servidor> Address = 10.0.0.1/24 ListenPort = 51820 [Peer] PublicKey = <clave-publica-cliente> AllowedIPs = 10.0.0.2/32
Configuracion del Cliente
[Interface] PrivateKey = <clave-privada-cliente> Address = 10.0.0.2/24 [Peer] PublicKey = <clave-publica-servidor> Endpoint = ip-de-tu-servidor:51820 AllowedIPs = 10.0.0.1/32 PersistentKeepalive = 25
Inicia WireGuard
# Servidor sudo wg-quick up wg0 sudo systemctl enable wg-quick@wg0 # Cliente sudo wg-quick up wg0
Ahora accede a OpenClaw via la IP de la VPN: http://10.0.0.1:18789
Metodo 4: Cloudflare Tunnel (Zero Trust)
Cloudflare Tunnel proporciona acceso seguro sin exponer puertos.
Instala 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
Autentica y Crea el Tunel
cloudflared tunnel login cloudflared tunnel create openclaw
Configura el Tunel
Crea ~/.cloudflared/config.yml:
tunnel: <tunnel-id>
credentials-file: /home/usuario/.cloudflared/<tunnel-id>.json
ingress:
- hostname: openclaw.tudominio.com
service: http://localhost:18789
- service: http_status:404
Ejecuta el Tunel
cloudflared tunnel route dns openclaw openclaw.tudominio.com cloudflared tunnel run openclaw
Mejores Practicas de Seguridad
1. Habilita Limitacion de Tasa
En tu ~/.openclaw/openclaw.json:
{
"security": {
"rateLimiting": {
"enabled": true,
"maxRequests": 60,
"windowMs": 60000
}
}
}
2. Usa Claves API Fuertes
# Rota tus claves API regularmente openclaw config set api-key
3. Monitorea los Logs de Acceso
# Verificar logs del gateway openclaw logs --follow
4. Configura Fail2Ban (para Nginx)
sudo apt install fail2ban # Crear /etc/fail2ban/jail.local [nginx-http-auth] enabled = true
Tabla Comparativa
| Metodo | Seguridad | Complejidad | Mejor Para | |--------|-----------|-------------|------------| | Tunel SSH | Alta | Baja | Uso personal | | Nginx + SSL | Alta | Media | Acceso publico | | VPN WireGuard | Muy Alta | Media | Acceso de equipo | | Cloudflare Tunnel | Alta | Baja | Configuracion zero-trust |