リモート Mac 上で OpenClaw ゲートウェイをループバック以外にバインドすると、公式ドキュメントが求める認証トークンと拒否ポリシーが必須になります。本文は Node 二十二以上の固定、install スクリプトまたは npm グローバルでの CLI 導入、SecretRef 相当の環境変数注入、openclaw config validate と doctor、無認証起動時の典型ログ対照までを一連にします。同一ホストでレジストリ代理取得や CI を動かす前提と相性が良いです。関連:status JSON と doctor、環境マージ CI ゲート、config validate。料金・購入・ヘルプはログイン不要です。

詰まりやすい三つの論点

  1. listen を広げたのにトークンだけ古い:ループバック限定のときは気付きにくいが、0.0.0.0 や社内 IP では誰でも到達し得るため、公式が推すゲートウェイ用シークレットとヘッダ名を揃えないと即アウトです。
  2. CI のシェルと launchd の環境が別物:SecretRef やマネージドシークレットから渡す変数名が plist と一致しないと、validate は緑でも実行時だけ四〇一になります。
  3. 無認証起動を許す設定のまま:ドキュメント上「トークン未設定なら起動しない」モードへ切り替えないと、監査やペネトレで説明できません。

バインド方式と認証の短い判断表

listen 到達範囲 推奨する認証
127.0.0.1 同一ホストのみ トークンは必須級だが露出面は最小。ローカル検証向き。
社内 IP/VPC ルーティングされたクライアント ゲートウェイ用トークンを必ず付与し、公式の無認証拒否を有効化。
0.0.0.0 NIC に届くすべて ファイアウォール層とセット。CI からの curl は Authorization をログに残さない運用。

着手前チェックリスト

  • Node は二十二・十二以上を実測し、launchd と CI が同じバイナリを指す。
  • CLI は公式の curl 系 install か npm install -g openclaw@^3 で固定し command -v openclaw を記録。
  • 設定木 は OPENCLAW_CONFIG_HOME を明示し、変更前に鍵を除いた tarball を残す。
  • 代理取得 が同一 Runner なら、npm レジストリとゲートウェイ検証を同一ジョブにまとめレイテンシを安定化。

最小再現の五ステップ

公式 README の推奨インストールに従い、次の順で実行します。変数名はドキュメントのゲートウェイ認証節の表記に合わせてください。

# 1) Node 22+(例:非ゼロ終了でゲート)
node -v
node -e "const [a,b]=process.versions.node.split('.').map(Number);process.exit(a>22||a===22&&b>=12?0:1)"

# 2) CLI:公式 install スクリプト「または」グローバル npm のどちらか一方に統一
# curl -fsSL …/install.sh | bash   # 公式ドキュメントの URL に置換
# npm install -g openclaw@^3

# 3) SecretRef 相当:シェルにだけ export(リポジトリに書かない)
# export OPENCLAW_GATEWAY_TOKEN="$(セキュアストアから読むコマンド)"

# 4) validate / doctor
openclaw config validate
openclaw doctor

# 5) ヘルス:Authorization を付けた curl(URL は公式のヘルスパスに合わせる)
# curl -fsS -H "Authorization: Bearer $OPENCLAW_GATEWAY_TOKEN" "http://127.0.0.1:18789/health"

非ループバックにしたあとは、openclaw gateway 系のヘルプに載るbind とトークンの組合せを再読し、ドキュメントの「トラブルシュート」見出しに沿ってログ一行ずつ潰します。

無認証拒否まわりの典型ログ対照

見える症状 第一想定 公式ドキュメント沿いの対応
起動直後にプロセスが終了、token required 系 非ループバックかつトークン未注入 環境変数の綴りと launchd の EnvironmentVariables を突合し再読み込み。
HTTP 401 または 403 ヘッダ形式や値の不一致 認証節の Bearer 形式とエンドポイント表を確認し curl を最小化。
validate は成功、実行だけ失敗 CI と常駐デーモンで別トークン 同一ユーザで doctor を再実行し、注入元を一本化。

CI と代理取得との連携価値

リモート Mac Runner では、npm やコンテナレジストリのプロキシ取得とゲートウェイ検証を同じディスクレイヤに載せると、コールドスタートのばらつきが減ります。環境マージ記事の tee ログパターンへ validate と curl の終了コードを載せれば、マージ前ゲートが一枚になります。

公開・常駐直前の再確認

  • 非ループバックならトークン必須とファイアウォール方針が文書化されている。
  • 成果物とログにトークン実体が混ざっていない。
  • openclaw config validate と doctor をバインド変更の直後にもう一度回した。

まとめ

ループバック外は認証と検証のセットが本体です。Node と CLI を固定し、SecretRef 相当でトークンを渡し、無認証起動を拒否する設定にしてから validate・doctor・認証付き curl を一括化すると、リモート Mac 上の CI と代理取得と矛盾しません。専用ホストの契約は 購入ページ、プラン比較は 料金、索引は 技術ブログ一覧、サポートは ヘルプセンターからどうぞ。

ゲートウェイ検証用のリモート Mac を用意

非ループバック bind と CI 代理取得を同一 Apple Silicon で再現し、トークン運用まで含めて試せます。料金・購入・ヘルプはログイン不要です。