OpenClaw.appをリモートGatewayで動かす方法
開発を進める中で、ローカルのマシンからリモートサーバーのリソースに安全にアクセスしたい場面はよくありますよね。設定が複雑だったり、接続が不安定だったりすると、作業のリズムが崩れてしまいがちです。
OpenClaw.app をリモートの Gateway と連携させるための、SSH tunneling を使ったスマートな方法をご紹介します。
このコンテンツは Remote Access に統合されました。最新のガイドについては、リンク先のページを参照してください。
リモート Gateway を使用した OpenClaw.app の実行
Section titled “リモート Gateway を使用した OpenClaw.app の実行”OpenClaw.app は、SSH tunneling を使用してリモートの Gateway に接続します。このガイドでは、そのセットアップ方法を説明します。
flowchart TB subgraph Client["Client Machine"] direction TB A["OpenClaw.app"] B["ws://127.0.0.1:18789\n(local port)"] T["SSH Tunnel"]
A --> B B --> T end subgraph Remote["Remote Machine"] direction TB C["Gateway WebSocket"] D["ws://127.0.0.1:18789"]
C --> D end T --> Cクイックセットアップ
Section titled “クイックセットアップ”ステップ 1: SSH Config の追加
Section titled “ステップ 1: SSH Config の追加”~/.ssh/config を編集し、以下を追加します。
Host remote-gateway HostName <REMOTE_IP> # e.g., 172.27.187.184 User <REMOTE_USER> # e.g., jefferson LocalForward 18789 127.0.0.1:18789 IdentityFile ~/.ssh/id_rsa<REMOTE_IP> と <REMOTE_USER> を実際の値に置き換えてください。
ステップ 2: SSH Key のコピー
Section titled “ステップ 2: SSH Key のコピー”公開鍵をリモートマシンにコピーします(パスワードを一度入力する必要があります)。
ssh-copy-id -i ~/.ssh/id_rsa <REMOTE_USER>@<REMOTE_IP>ステップ 3: Gateway Token の設定
Section titled “ステップ 3: Gateway Token の設定”launchctl setenv OPENCLAW_GATEWAY_TOKEN "<your-token>"ステップ 4: SSH Tunnel の開始
Section titled “ステップ 4: SSH Tunnel の開始”ssh -N remote-gateway &ステップ 5: OpenClaw.app の再起動
Section titled “ステップ 5: OpenClaw.app の再起動”# Quit OpenClaw.app (⌘Q), then reopen:open /path/to/OpenClaw.appこれで、アプリは SSH tunneling を介してリモートの Gateway に接続されます。
ログイン時のトンネル自動起動
Section titled “ログイン時のトンネル自動起動”ログイン時に SSH tunneling を自動的に開始させるには、Launch Agent を作成します。
PLIST ファイルの作成
Section titled “PLIST ファイルの作成”以下の内容を ~/Library/LaunchAgents/ai.openclaw.ssh-tunnel.plist として保存します。
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>Label</key> <string>ai.openclaw.ssh-tunnel</string> <key>ProgramArguments</key> <array> <string>/usr/bin/ssh</string> <string>-N</string> <string>remote-gateway</string> </array> <key>KeepAlive</key> <true/> <key>RunAtLoad</key> <true/></dict></plist>Launch Agent のロード
Section titled “Launch Agent のロード”launchctl bootstrap gui/$UID ~/Library/LaunchAgents/ai.openclaw.ssh-tunnel.plistこれで、トンネルは以下のようになります。
- ログイン時に自動で開始され、バックグラウンドで動作し続けます
- クラッシュした際も自動で再起動が行われます
補足:もし古い com.openclaw.ssh-tunnel LaunchAgent が残っている場合は、削除してください。
トラブルシューティング
Section titled “トラブルシューティング”トンネルが実行されているか確認する:
ps aux | grep "ssh -N remote-gateway" | grep -v greplsof -i :18789トンネルを再起動する:
launchctl kickstart -k gui/$UID/ai.openclaw.ssh-tunnelトンネルを停止する:
launchctl bootout gui/$UID/ai.openclaw.ssh-tunnel仕組みについて
Section titled “仕組みについて”| コンポーネント | 役割 |
|---|---|
LocalForward 18789 127.0.0.1:18789 | ローカルのポート 18789 をリモートのポート 18789 に転送します |
ssh -N | リモートコマンドを実行せずに SSH 接続します(ポート転送のみ) |
KeepAlive | トンネルがクラッシュした場合に自動で再起動します |
RunAtLoad | エージェントがロードされた時にトンネルを開始します |
OpenClaw.app は、クライアントマシンの ws://127.0.0.1:18789 に接続します。SSH tunneling はその接続を、Gateway が動作しているリモートマシンのポート 18789 へ転送する仕組みです。
次のステップ
Section titled “次のステップ”OpenClaw Expert
まだ解決しませんか?
このページで解決しない場合は、OpenClaw Expertに直接質問してください。