リモートアクセス

リモートゲートウェイ設定

OpenClaw.appはリモートゲートウェイへの接続にSSHトンネリングを使用します。このガイドではその設定方法を説明します。

概要

クイックセットアップ

ステップ 1: SSH設定を追加

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

Host remote-gateway
    HostName <REMOTE_IP>          # 例: 172.27.187.184
    User <REMOTE_USER>            # 例: jefferson
    LocalForward 18789 127.0.0.1:18789
    IdentityFile ~/.ssh/id_rsa

<REMOTE_IP><REMOTE_USER>を実際の値に置き換えてください。

ステップ 2: SSHキーをコピー

公開鍵をリモートマシンにコピーします(パスワードを一度入力):

ssh-copy-id -i ~/.ssh/id_rsa <REMOTE_USER>@<REMOTE_IP>

ステップ 3: ゲートウェイトークンを設定

launchctl setenv OPENCLAW_GATEWAY_TOKEN "<your-token>"

ステップ 4: SSHトンネルを開始

ssh -N remote-gateway &

ステップ 5: OpenClaw.appを再起動

# OpenClaw.appを終了(⌘Q)し、再度開きます:
open /path/to/OpenClaw.app

これでアプリはSSHトンネルを介してリモートゲートウェイに接続します。


ログイン時にトンネルを自動起動

ログイン時にSSHトンネルを自動的に起動するには、Launch Agentを作成します。

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をロード

launchctl bootstrap gui/$UID ~/Library/LaunchAgents/ai.openclaw.ssh-tunnel.plist

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

  • ログイン時に自動的に起動
  • クラッシュした場合に再起動
  • バックグラウンドで実行を継続

レガシーノート: 残っているcom.openclaw.ssh-tunnel LaunchAgentがあれば削除してください。


トラブルシューティング

トンネルが実行中か確認:

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

トンネルを再起動:

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

トンネルを停止:

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トンネルはその接続を、ゲートウェイが実行されているリモートマシンのポート18789に転送します。

リモートアクセスTailscale