资讯动态

Linux下安装OpenClaw并实现外部访问:TaoToken统一Key打通gateway与ssh链路

发布时间:2026/10/15 12:52:10 来源:尧图企业网站定制
1. Linux 服务器上 OpenClaw 安装踩坑与外部访问需求拆解OpenClaw 是一个可以在 Linux 服务器上自托管的 AI 助手网关它能对接多种模型通道把对话、编码、Agent 能力统一收拢到一个本地服务里再通过浏览器或 API 对外提供访问。适合谁用手里有一台云主机或内网 Linux 机器、想让 AI 能力跑在自己环境里、又不想把 Key 散落在各个客户端的开发者。核心检索词就三个Linux 安装、OpenClaw 外部访问、gateway 与 ssh 链路打通。我这次的目标很明确在一台 CentOS 系dnf 包管理的 Linux 服务器上装好 OpenClaw然后让局域网外的机器也能访问到它。默认情况下 OpenClaw 只监听本地回环外部直接访问是被挡住的所以必须处理两条链路——一条是 ssh 隧道转发另一条是 gateway 监听配置。两条链路各有适用场景ssh 隧道适合临时调试、不想暴露端口gateway 改成 lan 监听适合长期对外、团队共用。真正让我卡住的不是安装本身而是三个点。第一系统里残留的旧版 Node.js 和安装脚本要装的新版本打架dnf 直接报依赖互斥。第二装完之后外部访问不了一开始以为是防火墙其实是 gateway 还绑在 127.0.0.1。第三鉴权这块如果每个模型通道都单独配 Key管理起来很乱所以我打算用 TaoToken 的统一 Key 和 API 通道来收口让 gateway 只认一个入口。下面按真实操作顺序走一遍先清理环境装 OpenClaw再配 gateway 和 ssh最后接 TaoToken 统一鉴权并用 curl 验证外部可达性。每一步都给可复制的命令和配置片段你照着改 IP 和端口就能复现。2. TaoToken 前置准备统一 Key 与 API 通道接入 OpenClaw gateway在动 gateway 配置之前先把鉴权入口准备好否则后面改完监听还得回头补 Key容易乱。TaoToken 在这里扮演的角色是「统一 Key API 通道」你不需要为每个模型通道单独维护一套凭证而是拿一个 Key通过统一的 API Base URL 去调用OpenClaw 的 gateway 只要指向这个入口就行。先拿到 Key。打开控制台创建 API Key地址是 https://taotoken.net/console/api-keys 创建后复制保存后面配置里会用到。注意 Key 只在创建时完整显示一次丢了就重新建一个。然后是 API 通道的 Base URL统一用 https://taotoken.net/api 这个地址不带任何查询参数直接作为 OpenAI 兼容接口的 base 填进配置即可。模型 ID 按你实际要用的填比如对话类、编码类各有对应模型标识填错会直接报 model not found。如果你后面要跑长期编码或 Agent 任务可以了解下 Coding Plan入口在 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 它更适合持续性的编码场景。临时验证模型通不通用模型对话页面就行https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。这里有个关键点OpenClaw 的 gateway 配置里模型通道要写成 OpenAI 兼容格式也就是 base_url 指向 TaoToken 的 API 地址api_key 填刚创建的 Keymodel 填具体模型 ID。三件套缺一不可——Base URL、Key、Model ID。很多人只填了 Key 忘了改 base_url结果请求还是打到默认通道报 401 或者连接超时。我试过把 Key 直接写进 gateway 的 raw 配置里保存后 update 生效。如果你用的是环境变量方式也可以把 Key 放到服务启动的环境里但要注意 OpenClaw 读取配置的优先级写在配置文件里的会覆盖环境变量。为了排障方便建议先写死在配置里跑通之后再考虑抽离。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 里面有完整的参数说明和示例配置前扫一眼能少踩坑。Claude Code 相关的接入说明也在文档里如果你后面要把 OpenClaw 和 Claude Code 串起来可以对照着看。3. 可复制配置OpenClaw 安装、gateway 监听与 ssh 隧道片段这一节全是能直接复制的命令和配置按顺序执行。先处理安装。第一步清理旧版 Node.js。如果你的系统里已经有旧版本比如 v10 这种安装脚本要装 Node 22dnf 会检测到两个 nodejs 包互斥直接报错。先移除sudo dnf remove nodejs npm -y第二步跑一键安装脚本。它会自动装最新版 Node.js省得手动折腾curl -fsSL https://openClaw.ai/install.sh | bash安装完会自动进配置流程。几个关键选项Onboarding mode 选 QuickStartModel/auth provider 按你的实际情况选如果先用千问就走浏览器授权复制控制台链接到浏览器登录确认Default model 保持当前Select channel、Search provider、Configure skills、Enable hooks 都先 Skip最后 hatch 方式选 Hatch in TUI。配置完会打印一段访问信息里面有 token 和端口记下来。第三步ssh 隧道。默认外部访问不了最省事的临时方案是在你本地电脑开一个隧道。Windows 用 cmdMac/Linux 用终端ssh -L 18789:127.0.0.1:18789 root10.70.73.57把 10.70.73.57 换成你服务器的实际 IP输密码后保持窗口不关。然后本地浏览器访问http://127.0.0.1:18789/#token你的token如果连不上先看防火墙有没有放行端口firewall-cmd --permanent --add-port18789/tcp firewall-cmd --reload第四步改 gateway 实现直接 IP 访问。打开 OpenClaw 配置选 raw 模式找到 gateway 段改成下面这样{ gateway: { bind: lan, controlUi: { allowedOrigins: [ http://10.70.73.57:18789 ], allowInsecureAuth: true, dangerouslyDisableDeviceAuth: true } } }bind 从默认的本地改成 lanallowedOrigins 填服务器 IP 加端口。保存后点 update 生效。这时候 ssh 隧道窗口可以关了直接用 http://10.70.73.57:18789/#token你的token 访问。第五步把模型通道指向 TaoToken。在 raw 配置里补上模型段三件套写全{ models: { provider: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: 你的TaoToken Key, model: 你的模型ID } }注意 baseUrl 结尾不要多加斜杠apiKey 用控制台创建的那个model 填实际模型标识。保存 update 后gateway 的请求就会走 TaoToken 的统一通道。4. 验证请求curl 测试外部可达性与模型通道连通配置改完不能只看界面得用 curl 实测。分两步先验证外部能不能访问到 gateway再验证模型通道通不通。第一步从另一台机器不是服务器本机测外部可达性。在本地终端执行curl -v http://10.70.73.57:18789/如果返回 200 或者重定向到带 token 的页面说明 gateway 的 lan 监听生效了外部网络能打到这个端口。如果返回 connection refused回去检查 bind 是不是 lan、防火墙有没有放行、服务有没有重启。如果返回 403多半是 allowedOrigins 没配对把访问来源的 IP 加进去。第二步验证模型通道。OpenClaw 一般会暴露一个健康检查或模型列表接口用 curl 带上 Key 请求curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer 你的TaoToken Key \ -H Content-Type: application/json \ -d { model: 你的模型ID, messages: [{role: user, content: ping}] }返回里有 choices 字段和正常内容说明 Key、Base URL、Model ID 三件套都对。如果报 401检查 Key 有没有复制全、有没有多余空格。如果报 model not found检查模型 ID 拼写。如果报连接超时检查 baseUrl 是不是写成了 https://taotoken.net/api 而不是别的地址。第三步端到端验证。在浏览器打开 http://10.70.73.57:18789/#token你的token 发一条消息看能不能正常返回。能返回就说明 gateway、ssh/外部访问、模型通道整条链路都通了。实测下来最容易出问题的是 baseUrl 和 model 这两个字段。baseUrl 多一个斜杠、model 大小写不对都会导致请求失败。建议先用 curl 单独测模型通道通了再测 gateway这样排障范围小。5. 本篇常见错排查401、local proxy failed、reading choices、OAuth 报错这一节把真实会遇到的报错列出来对照着查。401 Unauthorized。最常见的原因是 Key 不对或没带上。检查三处TaoToken 控制台创建的 Key 有没有复制完整配置里 apiKey 字段有没有多余空格或换行请求头 Authorization 格式是不是 Bearer 加空格加 Key。如果 Key 是对的还报 401看是不是 baseUrl 指向了错误的地址导致请求打到了别的服务。local proxy failed。这个通常出现在 ssh 隧道场景。原因一般是隧道断了、端口被占用、或者服务器端服务没起来。先确认 ssh 窗口还开着再在服务器上ss -tlnp | grep 18789看端口有没有监听。如果端口没监听说明 OpenClaw 服务没起来重启服务。如果端口被别的进程占了换一个端口重新配隧道。reading choices 相关报错。这个多半是模型返回格式不对或者模型 ID 填错了导致返回了错误结构。先确认 model 字段是 TaoToken 支持的模型标识再用 curl 单独测一次模型通道看返回里有没有 choices。如果 curl 返回正常但 OpenClaw 里报错检查 OpenClaw 的模型配置段有没有写对 provider 类型。OAuth 报错。如果你在配置阶段选了需要浏览器授权的通道比如千问授权链接过期或没点确认就会报 OAuth 相关错误。重新走一遍配置流程复制新的授权链接到浏览器登录后点确认再回到终端继续。如果反复失败先 Skip 掉这个通道改用 TaoToken 的 API Key 方式接入省去浏览器授权环节。还有一个容易忽略的点从 2026.3.11 版本开始OpenClaw 加强了安全控制单纯改 gateway 的 bind 为 lan 可能不再直接生效需要配合 allowedOrigins 和认证配置一起改。如果你改完 bind 还是访问不了先确认版本再对照官方文档调整 controlUi 相关字段。排障顺序建议先 curl 测模型通道再 curl 测 gateway 外部可达最后浏览器端到端。每一步单独验证不要跳步否则出问题不知道是哪一层。6. 长期使用建议把统一 Key 接入固定下来跑通之后建议把配置固定下来别每次重启都重配。gateway 的 raw 配置保存后是持久的但如果你用环境变量传 Key要确认服务启动时能读到。可以把 Key 写进 systemd 的 service 文件或者用 OpenClaw 支持的配置文件方式。长期编码或 Agent 场景建议走 Coding Plan入口在 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 它更适合持续性的任务不用每次手动配。日常验证模型通不通用模型对话页面快速测https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。Key 管理在控制台https://taotoken.net/console/api-keys 定期轮换更安全。接入细节对照文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。最后提醒一句gateway 改成 lan 监听后端口就暴露在局域网里了建议配合防火墙限制来源 IP别直接开到公网。ssh 隧道虽然麻烦一点但安全性更高临时用优先选隧道。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑