2026 年 OpenClaw macOS Remote モード:
SSH でシンガポール・東京・ソウル・香港・米東・米西のベアメタル Mac mini M4 Pro 上の Gateway と Node Host を手元 Mac から運用する

手元の MacBook からシンガポール/東京/ソウル/香港/米国東部/米国西部に置いたベアメタル remote Mac mini M4 Pro上のOpenClaw Gatewayを操作したいとき、公式のmacOS Remote モードは「リモートで CLI を実行し、必要なら SSH トンネルで 18789 をループバックへ運ぶ」という一本の物語にまとまります。本稿では Settings → General のRemote over SSHDirect(ws/wss)の選び方、Node Hostopenclaw node installopenclaw node run)がブラウザ自動化を担う境界、SSH と WebSocket のセッション Keepalive、そして六地域に主機を置くときの RTT と監査の採点表を示します。料金は料金ページ、申し込みは注文ページ、接続と鍵の補足はヘルプセンターを正とします。Gateway と Control UI の SSH/TLS 共有記事初回セットアップ記事と併読すると、人間のコンソール経路とアプリの Remote 経路が重複しません。

読了後に答えられる三つです。第一に、手元 Mac はLocalのままにすべきか、Remote over SSHRemote directか。第二に、リモート M4 Pro 上で Gateway だけで足りるか、同じホストにNode Hostを常駐させてメニューバーから paired · connectedにするか。第三に、昼休みや越境回線でトンネルだけが落ちたとき、ServerAliveと LaunchAgent の KeepAliveをどう組み合わせ、サイレントゾンビを避けるかです。以下のコマンドは構造例です。導入後は必ず公式 Remote control ドキュメントで再確認してください。

第一はGateway は SSH で見えるが Node が未接続です。ダッシュボードと Web Chat は健全でも、メニューバーのデバイスが paired · disconnectedのまま Mac ネイティブ能力が使えません。Remote ではブラウザ自動化はCLI の Node Hostが担い、アプリ内蔵ノードではありません。第二は非対話シェルで openclaw が PATH にないことです。Test remote が exit 127 になる典型原因で、/opt/homebrew/bin へのシンボリックリンク不足が多いです。第三はSSH トンネル前提なのに Node を直結し、資格情報と --host を手書きで二重管理することです。Node Host は Gateway クライアントほど SSH トンネルを内包しないため、ws://127.0.0.1:18789 へローカル転送を揃えないと接続先がぶれます。

第四はKeepalive なしの長距離 SSHです。Gateway デーモンは生きているのに転送だけが落ち、オペレータが再起動を連鎖させます。第五は六地域の主機選定ミスです。モデル API がシンガポール近傍なのに主 Gateway を米西に置くと、手元からの Remote 操作と Agent 往復の両方で RTT が伸びます。これらはファイアウォール穴を増やすより、ランブックと採点表で先に潰すほうが安上がりです。

  • Node 未起動:ブラウザ・通知・権限付き自動化がオフラインのまま。
  • PATH/CLI 不在:Remote テストと openclaw status --json が失敗。
  • トンネルと Node の不整合:転送ポートと gateway.remote.url のずれ。
  • WS 1012 後のサイレントゾンビ:launchd は生きるが再接続しない Node。
  • 地域とデータの不一致:ログとモデルが別リージョンを往復。

Remote の本質は「手元 Mac を薄いコンソールにし、Gateway と Node をリモート M4 Pro 上で一貫して起動すること」です。

macOS アプリの OpenClaw runs では三択があります。Local(この Mac)は手元で完結し SSH は不要です。Remote over SSH(既定)ssh -N -L でリモートのループバック 18789 を手元へ運び、CLI・Web Chat・Node Host サービスは ws://127.0.0.1:18789 を共有します。Gateway から見た Node の IP は 127.0.0.1 になります。Remote direct(ws/wss)は Tailscale Serve や社内 HTTPS リバースプロキシへ直結し、実クライアント IP が Gateway に見えます。NOVAKVM の六地域ベアメタルでは、まずループバック限定の GatewaySSH トンネルを既定にし、監査でブラウザの鍵アイコンが必須なときだけ direct または TLS 公開名へ昇格させるのが無難です。

OpenClaw macOS Remote 経路対照(2026・六地域 M4 Pro 向け)
観点 Local(手元 Mac) Remote over SSH Remote direct(ws/wss)
向き先 ノート PC 単体の検証・デモ Gateway をリモート M4 Pro に固定する本番運用 Tailnet/LAN で既に信頼 URL があるチーム
露出 手元のみ 18789 はリモート側ループバック、SSH 鍵で制御 URL と証明書・許可リストの運用が必要
Node Host 手元で install/start リモート M4 Pro 上で install/start(推奨) 同上、TLS フィンガープリント設定に注意
六地域 該当なし オペレータ多数派に近い都市の M4 Pro を主機に 終端を Mac 近傍に置き二重越境 TLS を避ける

発見された LAN/Tailnet ホスト名は gateway.remote.sshTarget に保存され、トンネル先は gateway.remote.url のローカルエンドポイントに固定されます。リモート側ポートが手元の転送ポートと異なる場合は gateway.remote.remotePort を合わせます。

CLI から事前設定する例は openclaw-mac configure-remote --ssh-target user@host --local-port 18789 --remote-port 18789 --token "$OPENCLAW_GATEWAY_TOKEN" です。手動トンネルでは BatchMode と鍵を使い、長距離では ServerAliveInterval=30ServerAliveCountMax=3~/.ssh/config の Host ブロックに書きます。リモート M4 Pro 上では openclaw onboard --install-daemon のあと openclaw gateway status で 18789 を確認し、ブラウザ自動化が必要なら同じホストopenclaw node installopenclaw node start(またはフォアグラウンドの openclaw node run)を実行します。権限(Automation、Accessibility、Screen Recording など)はリモート macOS で一度付与します。

Node Host が WebSocket 1012(サービス再起動)のあと接続拒否に入ると、launchd の KeepAlive=true のままプロセスだけが残りログを書かない事例が報告されています。運用では定期的な openclaw node status、ゲートウェイ再起動後の明示的な openclaw node restart、および転送と Node の両方を監視するヘルスチェックを分けます。SSH トンネルを常時維持する場合は macOS の LaunchAgent で RunAtLoadKeepAlive を使うパターンもありますが、Gateway プロセスの生存SSH セッションの生存は別指標として扱います。

ssh-remote-gateway.example
ssh -N \
  -o BatchMode=yes \
  -o ServerAliveInterval=30 -o ServerAliveCountMax=3 \
  -L 18789:127.0.0.1:18789 \
  novakvm@sg-m4pro.example

公式参照:https://docs.openclaw.ai/platforms/mac/remotehttps://docs.openclaw.ai/gateway/remotehttps://github.com/openclaw/openclaw

  1. 地域を採点する:オペレータの居住都市、モデル API、データ所在地を重み付けし、シンガポール・東京・ソウル・香港・米東・米西のいずれか一つを主機に決めます。
  2. NOVAKVM で M4 Pro を確保する:料金ページでメモリ階層を選び、注文ページでリージョンを指定します。
  3. リモートで OpenClaw を導入する:非対話シェルでも openclaw が PATH に入るようシンボリックリンクを置きます。
  4. Gateway をループバックに固定する:openclaw gateway status で 18789 と認証モードを記録します。
  5. SSH 鍵と known_hosts を配布する:踏み台がある場合は ProxyJump を標準化し、0.0.0.0 バインドを禁止します。
  6. Keepalive を ~/.ssh/config に書く:ServerAliveIntervalServerAliveCountMax を Host ごとに固定します。
  7. 手元 Mac で Remote over SSH を選ぶ:Settings → General で SSH target と Identity を設定し Test remote を成功させます。
  8. configure-remote で再現可能にする:オンボーディングをスキップするチームは CLI の configure-remote で同じ値を書き込みます。
  9. リモートで Node Host を起動する:openclaw node installstart 後、node.list で権限状態を確認します。
  10. 切断ドリルを行う:トンネルだけを落とし、五分以内に Web Chat と Node が復帰するか検証します。
  11. ゲートウェイ再起動手順を固定する:再起動後は Node の restart をチェックリストに含め、サイレントゾンビを防ぎます。
  12. 四半期レビューする:SSH ログと Gateway ログから未知のクライアントを抽出し、direct 昇格の要否を再判定します。

以下は現場前提であり、ビルドごとの保証ではありません。

  • 既定 Gateway ポート:コミュニティ例は 18789 に集約されがちです。変更時は転送・ブックマーク・プローブを一括更新します。
  • SSH Keepalive:ServerAliveInterval=30ServerAliveCountMax=3 は越境回線の黙断を減らします。
  • Node と SSH:Node Host は Gateway クライアントと異なり SSH トランスポートを内包しないため、127.0.0.1:転送ポート への統一が重要です。
  • 六地域 RTT:手元が東京で主機が米西のとき、Remote の Test remote だけで往復が目に見えて伸びます。主機はオペレータ多数派へ寄せます。

FAQ:

  • Q:ダッシュボードは開くが Mac 能力がオフライン?A:Gateway 制御面は成功していて Node が未接続の典型です。リモート M4 Pro で Node Host を起動し paired · connected を確認します。
  • Q:Node IP が 127.0.0.1 だけど問題?A:SSH トンネル経由では想定内です。実 IP を Gateway に見せたい場合は Remote direct に切り替えます。
  • Q:Control UI 共有記事との違いは?A:共有記事は人間のブラウザ経路、本稿は macOS アプリの Remote と Node Host です。SSH config は一本化します。
  • Q:自社 Mac を六地域に送るよりレンタル?A:短期の越境ピークと鍵・再起動の予測可能性では、NOVAKVM のベアメタル M4 Pro レンタルのほうが変更管理に収まりやすい場面があります。ヘルプセンターの接続方針と併せて検討してください。

手元の Mac を薄いコンソールにし、OpenClaw Gateway と Node Host をシンガポール・東京・ソウル・香港・米東・米西のいずれかの M4 Pro 上で一貫運用したいチームにとって、macOS Remote モードは「SSH でループバックへ寄せ、Keepalive でセッションを守り、Node をリモートで常駐させる」という三行で足ります。オフィス単機だけでは越境 RTT とディスク競合を同時に抑えにくく、仮想 Mac だけでは TCC と実機シミュレータの再現に弱い場面があります。OpenClaw と iOS CI と AI エージェントを本番品質の Apple Silicon に載せる物語のうち、人間の Remote 操作と Node のペアリングまで含めて設計するなら、NOVAKVM の Mac mini ベアメタルレンタルは六地域・独占ハード・日次から月次の検証までを同じ変更票に載せやすい選択肢です。次の会議では、既定を Remote over SSH + リモート Node Host と一行で決め、direct は名前付きオーナーがいるときだけ昇格させてください。