SSH 隧道安全详解 | AI生成和翻译
简短回答:您是安全的
您的设置使用 本地 LAN IP 地址 (192.168.1.36) — 这是一个私有网络地址。它 完全无法从公共互联网访问。
为什么此设置是安全的
1. 192.168.1.x 是私有 IP 地址
| IP 范围 | 类型 | 可从互联网访问? |
|---|---|---|
192.168.0.0/16 |
私有 LAN | ❌ 否 |
10.0.0.0/8 |
私有 LAN | ❌ 否 |
172.16.0.0/12 |
私有 LAN | ❌ 否 |
1.x.x.x、8.x.x.x 等 |
公网 IP | ✅ 是(暴露) |
192.168.1.36 只是 您家庭 LAN 地址。互联网机器人、扫描器(如 Shodan)和攻击者 无法访问它,因为您的家庭路由器执行 NAT(Network Address Translation)并默认阻止未经请求的入站流量。
2. SSH 隧道绑定到 127.0.0.1(仅本地主机)
您的隧道命令:
ssh -N -L 18789:127.0.0.1:18789 lzw@192.168.1.36
- 左侧 的
127.0.0.1:18789= 端口仅在 您自己的机器 localhost 上打开 - LAN 上的任何人、互联网上的任何人,都无法连接到您机器上的端口
18789— 只有 同一台机器上的您 可以打开http://localhost:18789
3. 流量经过 SSH 加密
您两台家庭计算机之间所有数据都在 SSH 加密隧道 内传输。即使在您自己的 LAN 上,也没有人能嗅探 OpenClaw 流量。
您仍应检查的事项
✅ 验证端口 18789 未向外部暴露
在 OpenClaw 服务器 (192.168.1.36) 上运行:
ss -tlnp | grep 18789
您应该看到它绑定到 127.0.0.1:18789 — 不是 0.0.0.0:18789。
如果看到 0.0.0.0:18789,表示它监听所有接口 — 请修复:
# 编辑 OpenClaw 配置,仅绑定 localhost
openclaw config set server.host 127.0.0.1
openclaw restart
✅ 检查您的路由器没有将端口 18789 转发
登录您的家庭路由器(通常是 192.168.1.1)并确认 没有端口转发规则 指向 192.168.1.36:18789。如果没有,您就是安全的。
✅ 在 192.168.1.36 上强化 SSH(推荐)
既然您正在 SSH 登录第二台计算机,以下是良好实践:
# 禁用密码登录,仅使用 SSH 密钥
sudo nano /etc/ssh/sshd_config
设置以下内容:
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
然后重新加载:
sudo systemctl reload sshd
✅ 检查路由器中 SSH 端口(22)是否被转发
如果您 确实 将 SSH 端口 22 从互联网转发到家庭(用于远程访问),机器人 会 扫描您的 SSH 端口。请缓解此风险:
# 安装 fail2ban 以自动禁止暴力破解尝试
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
或将 SSH 更改为非标准端口(例如 2222)。
总结
| 风险 | 您的设置 | 判定 |
|---|---|---|
| OpenClaw 仪表板暴露到互联网 | 绑定到 127.0.0.1,仅 LAN IP |
✅ 安全 |
| 被 Shodan/机器人端口扫描 | 私有 192.168.1.x 无法访问 |
✅ 安全 |
| LAN 用户可访问仪表板 | 仅通过您的 SSH 隧道 | ✅ 安全 |
| SSH 暴力破解(如果端口 22 被转发) | 取决于路由器配置 | ⚠️ 检查路由器 |
| 未加密流量 | SSH 隧道加密一切 | ✅ 安全 |
您的当前设置配置正确,未暴露到公共互联网。 唯一值得再次检查的是路由器的端口转发设置。