OpenClaw 生產實踐

OpenClaw SSH
連接埠轉發診斷實戰

2026-05-14 約 6 分鐘閱讀 nozcloud 團隊 OpenClaw · SSH · CI
本文適合已在 nozcloud 德國(法蘭克福)遠端 Mac 上運行 OpenClaw、但希望將攻擊面縮小到「不在區域網路暴露閘道」的團隊。核心方案:將監聽器綁定到回環地址、啟用閘道令牌鑑權、透過 SSH LocalForward 存取服務,並將 openclaw doctor --non-interactiveopenclaw config validate 作為合併門控。所有行為均以上游官方文件為準——包括 配置參考CLI doctor 以及 閘道 doctor

目標:僅限回環的控制面,最小化暴露面

OpenClaw 閘道預設在 18789 連接埠上複用 WebSocket 和 HTTP。配置參考指出,gateway.bind: "loopback" 會將監聽器鎖定在本地回環地址,而非回環綁定需要啟用閘道鑑權(令牌、密碼或嚴格配置的受信代理)。對於共享遠端 Mac,最佳方案是:回環綁定 + 令牌模式,運維人員和自動化工具透過加密隧道存取該連接埠,而非將 18789 暴露在主機的公網介面上。

可與本系列配套文章結合閱讀:OpenClaw 在 nozcloud 德國節點:守護程序上線與合規基線。如需購買或調整配置,請造訪購買頁面並在定價頁面比較套餐。

127.0.0.1
回環地址綁定
SSH -L
LocalForward 隧道
CI
配置驗證 + doctor

最小可重現步驟(遠端 Mac)

建議先在測試機上執行以下流程,驗證通過後再將同一套 plist、SSH 配置和 CI 任務推送到生產環境。

  1. SSH 基礎配置。為 OpenClaw 建立專用 macOS 使用者。僅安裝您已審批的 OpenClaw 版本,然後透過金鑰驗證非互動式 SSH(如策略允許,在 sshd_config 中為該帳號停用密碼認證)。
  2. 在 JSON5 中宣告綁定與鑑權。~/.openclaw/openclaw.json 中保持 gateway.mode: "local",設定 gateway.bind: "loopback",並配置 gateway.auth.mode: "token"gateway.auth.token: "${OPENCLAW_GATEWAY_TOKEN}"。若 token 與 password 物件同時存在,務必顯式指定 gateway.auth.mode 以避免啟動時產生歧義。
  3. 注入令牌,而非將金鑰路徑提交到 Git。透過 LaunchDaemon 的 EnvironmentVariables 字典或具有嚴格 POSIX 權限的 root 所有環境檔案來匯出 OPENCLAW_GATEWAY_TOKEN。首次引導時,可在安全的管理員 Shell 中執行 openclaw doctor --generate-gateway-token
  4. 無 TTY 健康檢查。依次執行 openclaw config validateopenclaw doctor --non-interactive--non-interactive 會跳過互動提示、套用安全遷移,並避免互動式 OAuth 重新整理——非常適合 cron 和 CI 場景。
  5. 安裝或重啟閘道服務。使用已標準化的廠商流程(例如帶您已固定參數的 openclaw gateway install)。確認 openclaw gateway status 顯示監聽器僅在回環地址上處於健康狀態。
  6. 從本地工作站建立 SSH LocalForward。執行 ssh -N -L 18789:127.0.0.1:18789 openclaw-svc@germany-host.example(請替換使用者名稱和主機名稱)。本地工具即可存取 ws://127.0.0.1:18789,同時流量透過 SSH 加密傳輸。
  7. 驗證令牌路徑。隧道建立後,從筆記型電腦按運維手冊中的 Bearer Token 方式連接到 127.0.0.1:18789。故意傳送一次錯誤令牌:應看到鑑權失敗而非靜默通過——這是端到端強制驗證的證明。
為什麼不綁定到區域網路?在沒有補償控制措施的情況下將 18789 開放到 0.0.0.0,會大幅增加服務發現和暴力破解的風險。如確實需要非 SSH 存取,請在前面放置啟用了 mTLS 或 Tailscale Serve 的加固反向代理,並重新閱讀配置參考中的受信代理章節,而不是跳過鑑權。

合規導向的暴露面檢查清單

以下條目不構成法律建議;它們將「最小權限」原則轉化為安全審查人員可以核查的具體門控點。

  • 禁止在 Shell 歷史中留下明文令牌:透過 LaunchDaemon 或 CI 密鑰注入器載入密鑰,絕不在共享螢幕會話中內聯 export
  • 將運維 SSH 帳號與服務帳號分離:人工使用者使用各自的 UNIX 主體;OpenClaw 守護程序使用者不應擁有您的個人 dotfiles。
  • 在 PR 中審查閘道配置變更:任何涉及 gateway.bindgateway.authhooksgateway.http 端點的修改,均需雙人審查。
  • 在 doctor 修復前備份配置:升級前保留 openclaw.json 的帶時間戳副本;若遷移導致鑑權元資料遺失,從製品儲存恢復並重啟服務。
  • 記錄應急操作流程:若有人在事故回應期間臨時放寬綁定模式,請立即提交工單,並在 SLA 窗口內回滾。

合併門控方案(GitHub Actions 虛擬碼範例)

將生產配置的唯讀固定件或經過脫敏處理的摘錄存入 Git——絕不提交生產令牌。透過 CI 密鑰注入一個一次性的 OPENCLAW_GATEWAY_TOKEN,使需要環境變數替換的驗證路徑能夠正常執行。該任務應包含以下步驟:

  1. 安裝與生產環境相同的 OpenClaw minor 版本。
  2. openclaw config validate 套用於已簽入的範本與測試密鑰的合併結果。
  3. 執行 openclaw doctor --non-interactive;若告警超過策略閾值則失敗(許多團隊將任何「鑑權缺失」行視為硬性錯誤)。
  4. 可選:在夜間執行 openclaw doctor --deep 而非每次 PR——深度掃描耗時較長且可能需要提升權限。

升級問題請遵循內部運維手冊;如在資源調配或 SSH 存取方面遇到阻礙,可透過下方說明中心連結提交工單。

本文僅提供運維操作指引。OpenClaw 的行為隨版本迭代而變化——在自動化流程上線前,請務必對照上述官方文件連結核查相關參數和預設值。
法蘭克福 · 遠端 Mac

需要專用硬體來承載此方案?

透過購買頁面在德國節點部署 Mac mini,在定價頁面匹配統一記憶體與模型負載,如資源調配或 SSH 存取遇到問題請聯繫說明中心。

Mac mini M4 · 專用雲端主機
裸機效能 六大區域 隨時擴容
起價
$107.9 /月