🌐 OpenClaw 远程访问完全指南
凌晨2点43分,你在咖啡馆突然想查看AI任务的进度,但你家的电脑在千里之外...
这篇文章教你配置OpenClaw的远程访问,让你的AI Agent触手可及。
访问方式概览
| 方式 | 难度 | 安全性 | 适用场景 |
|---|---|---|---|
| Tailscale(推荐) | ⭐ | ⭐⭐⭐⭐⭐ | 个人使用、多设备互联 |
| SSH隧道 | ⭐⭐ | ⭐⭐⭐⭐ | 技术人员、临时访问 |
| 公网暴露 | ⭐⭐⭐ | ⭐⭐ | 需要公网访问的场景 |
| Cloudflare Tunnel | ⭐⭐ | ⭐⭐⭐⭐ | 无需公网IP的公网访问 |
方案一:Tailscale(强烈推荐)
Tailscale是一个零配置的VPN服务,让你的所有设备组成一个虚拟局域网。
安装配置
1. 在Gateway机器上安装
# Linux
curl -fsSL https://tailscale.com/install.sh | sh
# macOS
brew install tailscale
# Windows
# 从 https://tailscale.com/download 下载安装
2. 连接Tailscale
# 登录并连接
sudo tailscale up
# 显示本机的Tailscale IP
tailscale ip
# 输出: 100.x.y.z
3. 配置Gateway监听
// openclaw.json
{
"gateway": {
"host": "0.0.0.0", // 监听所有接口
"port": 18789,
"tailscale": {
"enabled": true
}
}
}
4. 在手机/其他设备访问
# 同样安装并登录Tailscale
# 然后访问Gateway的Tailscale IP
http://100.x.y.z:18789
💡 Tailscale的优势
- 零配置:不需要端口转发、不需要公网IP
- 安全:端到端加密,流量不经过第三方
- 快速:基于WireGuard,延迟极低
- 免费:个人使用免费,支持100台设备
高级配置:子路由器
# 让Tailscale网络中的设备能访问Gateway所在局域网
sudo tailscale up --advertise-routes=192.168.1.0/24
# 在管理后台启用子路由器功能
方案二:SSH隧道
本地端口转发
# 在远程机器上执行
ssh -L 18789:localhost:18789 user@gateway-host
# 然后访问本地端口
http://localhost:18789
反向隧道
# 在Gateway机器上执行,将端口暴露到公网服务器
ssh -R 18789:localhost:18789 user@public-server
# 然后通过公网服务器访问
http://public-server:18789
⚠️ SSH隧道注意
- 需要保持SSH连接,断开后无法访问
- 建议使用autossh保持连接
- 反向隧道需要在SSH服务器启用GatewayPorts
方案三:公网暴露
🚨 安全警告
公网暴露OpenClaw Gateway存在安全风险,必须配置严格的访问控制!
配置步骤
1. 端口转发
# 在路由器上配置端口转发
# 外部端口 18789 → 内网IP:18789
2. 配置防火墙
# UFW示例
sudo ufw allow 18789/tcp
sudo ufw enable
3. 配置访问控制(必须)
// openclaw.json
{
"security": {
"allowList": [
"your-ip-address",
"trusted-ip-range/24"
],
"blockList": [
"known-bad-ips"
],
"rateLimit": {
"enabled": true,
"requestsPerMinute": 60
}
},
"auth": {
"tokens": {
"enabled": true,
"required": true
}
}
}
4. 启用HTTPS(推荐)
# 使用Let's Encrypt
sudo certbot certonly --standalone -d your-domain.com
// 配置OpenClaw使用证书
{
"gateway": {
"tls": {
"enabled": true,
"cert": "/etc/letsencrypt/live/your-domain.com/fullchain.pem",
"key": "/etc/letsencrypt/live/your-domain.com/privkey.pem"
}
}
}
方案四:Cloudflare Tunnel
没有公网IP也能暴露服务,且自带DDoS防护和HTTPS。
配置步骤
1. 安装cloudflared
# Linux
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o cloudflared
chmod +x cloudflared
sudo mv cloudflared /usr/local/bin/
2. 登录Cloudflare
cloudflared tunnel login
# 会打开浏览器进行授权
3. 创建隧道
# 创建隧道
cloudflared tunnel create openclaw-gateway
# 输出:
# Tunnel credentials written to ~/.cloudflared/xxx.json
4. 配置路由
# 将域名路由到隧道
cloudflared tunnel route dns openclaw-gateway openclaw.your-domain.com
5. 运行隧道
cloudflared tunnel --url http://localhost:18789 run openclaw-gateway
# 或作为服务运行
sudo cloudflared service install
sudo systemctl start cloudflared
💡 Cloudflare Tunnel优势
- 无需公网IP和端口转发
- 自动HTTPS
- DDoS防护
- 访问控制(可选)
安全最佳实践
1. Token认证
// 生成token
openclaw tokens create --name "mobile-access" --expire 365d
// 在请求中携带
Authorization: Bearer your-token-here
2. IP白名单
{
"security": {
"allowList": [
"192.168.1.0/24", // 本地网络
"100.x.y.z", // Tailscale IP
"your-office-ip/32" // 办公室IP
]
}
}
3. 速率限制
{
"security": {
"rateLimit": {
"enabled": true,
"requestsPerMinute": 60,
"burst": 10
}
}
}
4. 审计日志
{
"logging": {
"audit": {
"enabled": true,
"path": "~/.openclaw/audit.log",
"retentionDays": 30
}
}
}
方案对比
| 特性 | Tailscale | SSH隧道 | 公网暴露 | Cloudflare |
|---|---|---|---|---|
| 需要公网IP | ❌ | ❌ | ✅ | ❌ |
| 需要配置 | 极少 | 中等 | 多 | 中等 |
| 自动HTTPS | ❌ | ❌ | ❌ | ✅ |
| DDoS防护 | ❌ | ❌ | ❌ | ✅ |
| 适合场景 | 个人/小团队 | 临时访问 | 需要公网 | 生产环境 |
相关资源
🎓 小结
远程访问方案选择建议:
- 个人使用 → Tailscale,简单安全
- 临时访问 → SSH隧道,快速建立
- 团队/生产 → Cloudflare Tunnel,功能全面
- 特殊需求 → 公网暴露,务必配置安全控制
世界上最远的距离,是没有配置好远程访问的电脑和手机...