Remote access

Penyiapan Gateway jarak jauh

Konten ini telah digabungkan ke Akses Jarak Jauh. Lihat halaman tersebut untuk panduan saat ini.

Menjalankan OpenClaw.app dengan Gateway Jarak Jauh

OpenClaw.app menggunakan tunneling SSH untuk terhubung ke gateway jarak jauh. Panduan ini menunjukkan cara menyiapkannya.

Ikhtisar

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

Penyiapan cepat

Langkah 1: Tambahkan Konfigurasi SSH

Edit ~/.ssh/config dan tambahkan:

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

Ganti <REMOTE_IP> dan <REMOTE_USER> dengan nilai Anda.

Langkah 2: Salin Kunci SSH

Salin kunci publik Anda ke mesin jarak jauh (masukkan kata sandi sekali):

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

Langkah 3: Konfigurasikan Autentikasi Gateway Jarak Jauh

openclaw config set gateway.remote.token "<your-token>"

Gunakan gateway.remote.password sebagai gantinya jika gateway jarak jauh Anda menggunakan autentikasi kata sandi. OPENCLAW_GATEWAY_TOKEN masih valid sebagai override tingkat shell, tetapi penyiapan klien jarak jauh yang tahan lama adalah gateway.remote.token / gateway.remote.password.

Langkah 4: Mulai Tunnel SSH

ssh -N remote-gateway &

Langkah 5: Mulai Ulang OpenClaw.app

# Quit OpenClaw.app (⌘Q), then reopen:
open /path/to/OpenClaw.app

Aplikasi sekarang akan terhubung ke gateway jarak jauh melalui tunnel SSH.


Mulai Otomatis Tunnel saat Login

Agar tunnel SSH dimulai otomatis saat Anda login, buat Launch Agent.

Buat file PLIST

Simpan ini sebagai ~/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>

Muat Launch Agent

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

Tunnel sekarang akan:

  • Dimulai otomatis saat Anda login
  • Dimulai ulang jika crash
  • Tetap berjalan di latar belakang

Catatan lama: hapus LaunchAgent com.openclaw.ssh-tunnel yang tersisa jika ada.


Pemecahan masalah

Periksa apakah tunnel sedang berjalan:

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

Mulai ulang tunnel:

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

Hentikan tunnel:

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

Cara kerjanya

Komponen Apa Fungsinya
LocalForward 18789 127.0.0.1:18789 Meneruskan port lokal 18789 ke port jarak jauh 18789
ssh -N SSH tanpa menjalankan perintah jarak jauh (hanya penerusan port)
KeepAlive Memulai ulang tunnel secara otomatis jika crash
RunAtLoad Memulai tunnel saat agen dimuat

OpenClaw.app terhubung ke ws://127.0.0.1:18789 di mesin klien Anda. Tunnel SSH meneruskan koneksi tersebut ke port 18789 pada mesin jarak jauh tempat Gateway berjalan.

Terkait