コンテンツにスキップ

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

~/.ssh/config を編集し、以下を追加します。

Terminal window
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> を実際の値に置き換えてください。

公開鍵をリモートマシンにコピーします(パスワードを一度入力する必要があります)。

Terminal window
ssh-copy-id -i ~/.ssh/id_rsa <REMOTE_USER>@<REMOTE_IP>
Terminal window
launchctl setenv OPENCLAW_GATEWAY_TOKEN "<your-token>"
Terminal window
ssh -N remote-gateway &
Terminal window
# Quit OpenClaw.app (⌘Q), then reopen:
open /path/to/OpenClaw.app

これで、アプリは SSH tunneling を介してリモートの Gateway に接続されます。


ログイン時のトンネル自動起動

Section titled “ログイン時のトンネル自動起動”

ログイン時に SSH tunneling を自動的に開始させるには、Launch Agent を作成します。

以下の内容を ~/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>
Terminal window
launchctl bootstrap gui/$UID ~/Library/LaunchAgents/ai.openclaw.ssh-tunnel.plist

これで、トンネルは以下のようになります。

  • ログイン時に自動で開始され、バックグラウンドで動作し続けます
  • クラッシュした際も自動で再起動が行われます

補足:もし古い com.openclaw.ssh-tunnel LaunchAgent が残っている場合は、削除してください。


トンネルが実行されているか確認する:

Terminal window
ps aux | grep "ssh -N remote-gateway" | grep -v grep
lsof -i :18789

トンネルを再起動する:

Terminal window
launchctl kickstart -k gui/$UID/ai.openclaw.ssh-tunnel

トンネルを停止する:

Terminal window
launchctl bootout gui/$UID/ai.openclaw.ssh-tunnel

コンポーネント役割
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 へ転送する仕組みです。

AI Setup Assistant

OpenClaw

OpenClaw Expert

まだ解決しませんか?

このページで解決しない場合は、OpenClaw Expertに直接質問してください。