跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

OpenClaw 远程访问配置指南:SSH 隧道与免密登录

OpenClaw Gateway 默认绑定本地回环地址,通过 SSH 隧道可实现从 Windows 安全访问虚拟机上的服务。详述了 SSH 隧道端口转发命令、Windows 下生成 SSH 密钥及免密登录配置步骤,包括创建快捷启动脚本的方法。同时列出了常见连接错误(如 Connection refused、Host key verification failed)的排查方案及 Gateway 相关配置文件的查看方式,帮助用户快速建立稳定的远程连接环境。

灰度发布发布于 2026/3/16更新于 2026/9/1078 浏览
OpenClaw 远程访问配置指南:SSH 隧道与免密登录

OpenClaw 远程访问配置指南:SSH 隧道与免密登录

一、场景说明

网络架构
┌─────────────────────┐   ┌─────────────────────┐
│    Windows 主机      │   │   虚拟机/服务器      │
│                     │   │                     │
│  浏览器 ◄───────────┼───┼──► OpenClaw Gateway │
│  localhost:18790    │   │  127.0.0.1:18789    │
│       SSH 隧道       │   │                     │
└─────────────────────┘   └─────────────────────┘
为什么需要 SSH 隧道?

OpenClaw Gateway 默认绑定在 127.0.0.1(本地回环),这是最安全的配置。直接绑定 LAN IP 可能会遇到 WebSocket 认证问题(1008 错误)。

SSH 隧道的优势:

  • ✅ 安全(加密传输)
  • ✅ 稳定(避免 WebSocket 直连问题)
  • ✅ 无需修改 Gateway 配置

二、SSH 隧道访问

基本命令

在 Windows PowerShell 中运行:

ssh -N -L 18790:127.0.0.1:18789 用户名@虚拟机IP

参数说明:

参数说明
-N不执行远程命令,只做端口转发
-L本地端口转发
18790Windows 本地端口(可自定义)
127.0.0.1:18789虚拟机上的 Gateway 地址
用户名@虚拟机 IPSSH 登录信息

实际示例:

ssh -N -L 18790:127.0.0.1:18789 [email protected]
访问 Gateway

隧道建立后,在浏览器打开:

http://localhost:18790/?token=你的 Token

或者打开 http://localhost:18790,然后手动输入 Token。

三、配置免密登录

每次 SSH 都输密码很麻烦,配置密钥认证可以实现免密登录。

步骤 1:生成 SSH 密钥(Windows)

打开 PowerShell,运行:

ssh-keygen -t ed25519

提示时一路回车(不设置密码)。

会生成两个文件:

  • C:\Users\你的用户名\.ssh\id_ed25519 — 私钥(保密)
  • C:\Users\你的用户名\.ssh\id_ed25519.pub — 公钥(可公开)
步骤 2:复制公钥到服务器

运行以下命令(一行):

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh 用户名@虚拟机IP "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

实际示例:

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh [email protected] "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

这次需要输入密码,之后就不用了。

步骤 3:测试免密登录
ssh [email protected] "echo 免密登录成功"

如果显示 免密登录成功 而不要求输密码,配置完成!

四、创建快捷启动脚本

创建批处理文件

在桌面(或任意位置)创建 openclaw 隧道.bat:

@echo off
chcp 65001 >nul
echo ========================================
echo OpenClaw Gateway SSH 隧道
echo ========================================
echo.
echo 正在连接到 Gateway...
echo.
echo 连接成功后,请访问:
echo http://localhost:18790
echo.
echo [!] 保持此窗口开启
echo [!] 关闭窗口会断开连接
echo.
echo ----------------------------------------
ssh -N -L 18790:127.0.0.1:18789 [email protected]

将 [email protected] 替换为你的实际用户名和 IP。

使用方法
  1. 启动虚拟机,确保 OpenClaw Gateway 正在运行
  2. 双击 openclaw 隧道.bat
  3. 窗口显示连接信息后,打开浏览器访问 http://localhost:18790
  4. 使用完毕后关闭命令行窗口
进阶:创建桌面快捷方式
  1. 右键 openclaw 隧道.bat → 创建快捷方式
  2. 右键快捷方式 → 属性 → 更改图标
  3. 可以设置一个好看的图标

五、常见问题

Q1: 连接时提示 'Connection refused'

原因: 虚拟机未启动或 SSH 服务未运行。

解决:

# 在虚拟机上检查 SSH 服务
sudo systemctl status sshd
# 如果未运行,启动它
sudo systemctl start sshd
Q2: 连接时提示 'Host key verification failed'

原因: 服务器指纹变更(重装系统等)。

解决:

# 删除旧的指纹记录
ssh-keygen -R 162.16.30.210
Q3: 免密登录不生效

检查清单:

  1. 服务器端权限:
# 在虚拟机上执行
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
  1. 确认公钥已添加:
cat ~/.ssh/authorized_keys
  1. 检查 SSH 配置:
# 确保这些选项没有被禁用
grep -E "PubkeyAuthentication|AuthorizedKeysFile" /etc/ssh/sshd_config
Q4: 浏览器显示 1008 错误

原因: Token 验证失败。

解决:

  • 确认 Token 正确(检查 ~/.openclaw/openclaw.json 中的 gateway.auth.token)
  • URL 中 Token 不要有多余空格
  • 尝试手动在页面输入 Token 而不是 URL 参数
Q5: 隧道断开后如何重连?

直接重新运行 openclaw 隧道.bat 或 SSH 命令即可。

Q6: 如何让隧道后台运行?

Windows 上可以用 start 命令:

start /min ssh -N -L 18790:127.0.0.1:18789 [email protected]

或者使用 nssm 等工具将其注册为 Windows 服务。

附录:相关配置参考

OpenClaw Gateway 配置位置
~/.openclaw/openclaw.json
查看 Gateway Token
cat ~/.openclaw/openclaw.json | grep -A2 '"auth'"
重启 Gateway
openclaw gateway restart
查看 Gateway 状态
openclaw status openclaw health

总结

步骤命令/操作
1. 建立隧道ssh -N -L 18790:127.0.0.1:18789 user@host
2. 生成密钥ssh-keygen -t ed25519
3. 复制公钥`type ...
4. 创建脚本保存为 .bat 文件双击运行
5. 访问http://localhost:18790/?token=xxx

配置一次,以后只需双击脚本即可连接!

目录

  1. OpenClaw 远程访问配置指南:SSH 隧道与免密登录
  2. 一、场景说明
  3. 网络架构
  4. 为什么需要 SSH 隧道?
  5. 二、SSH 隧道访问
  6. 基本命令
  7. 访问 Gateway
  8. 三、配置免密登录
  9. 步骤 1:生成 SSH 密钥(Windows)
  10. 步骤 2:复制公钥到服务器
  11. 步骤 3:测试免密登录
  12. 四、创建快捷启动脚本
  13. 创建批处理文件
  14. 使用方法
  15. 进阶:创建桌面快捷方式
  16. 五、常见问题
  17. Q1: 连接时提示 “Connection refused”
  18. 在虚拟机上检查 SSH 服务
  19. 如果未运行,启动它
  20. Q2: 连接时提示 “Host key verification failed”
  21. 删除旧的指纹记录
  22. Q3: 免密登录不生效
  23. 在虚拟机上执行
  24. 确保这些选项没有被禁用
  25. Q4: 浏览器显示 1008 错误
  26. Q5: 隧道断开后如何重连?
  27. Q6: 如何让隧道后台运行?
  28. 附录:相关配置参考
  29. OpenClaw Gateway 配置位置
  30. 查看 Gateway Token
  31. 重启 Gateway
  32. 查看 Gateway 状态
  33. 总结

更多推荐文章

查看全部
  • Podman 与 Docker 国内镜像源配置指南(2025-05)
  • 算法技巧:前缀和一维与二维应用解析
  • Neo4j 图数据库与 JDK 安装配置教程
  • OpenCode + GitHub Copilot:打造类 Claude Code 的本地编程体验
  • 人工智能应用工程师(高级)课程体系详解
  • Linux 进程间通信之命名管道(FIFO)实战与面向对象封装
  • Flutter 三方库 bavard 鸿蒙化适配:聊天协议与机器人逻辑
  • 零样本分类 WebUI 操作指南与结果可视化
  • AI 绘画报错:模型文件缺失与配置修复
  • AVL 树的平衡艺术:用 C++ 实现自平衡二叉搜索树
  • 基于 Python + Django 的电商小项目实战
  • 文心大模型 4.5 系列开源测评:国产千亿 MoE 架构技术突破
  • OpenClaw 配置本地 Ollama 模型指南:打造离线个人 AI 助理
  • 基于 Qwen3-ASR-1.7B 的博物馆 AR 导览语音转写与知识图谱方案
  • 基于 egui 构建 AI Agent 工作流在线编辑器
  • DeepSeek 中冷启动数据与多阶段训练的作用解析
  • Spring Boot + DeepSeek 工具函数(Function Call)实战应用
  • 理解与预防 ChatGPT 中的常见误解:如何有效对话
  • Java 动态分析技术:原理与实战
  • 使用 Ollama 部署 Llama-3.2-3B 生成营销文案

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online