---
read_when:
    - Налаштування або налагодження віддаленого керування Mac
summary: Процес у застосунку macOS для керування віддаленим OpenClaw Gateway
title: Віддалене керування
x-i18n:
    generated_at: "2026-07-03T23:42:19Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 4d1ac5065011ef16085b3349ee7224fe3e806a6de61feaac2dcd5c9ed264227e
    source_path: platforms/mac/remote.md
    workflow: 16
---

Цей потік дає змогу застосунку macOS працювати як повноцінний пульт дистанційного керування для Gateway OpenClaw, що працює на іншому хості (настільному комп’ютері/сервері). Застосунок може підключатися напряму до довірених URL Gateway у LAN/Tailnet або керувати SSH-тунелем, коли віддалений Gateway доступний лише через loopback. Перевірки справності, пересилання Voice Wake і Вебчат повторно використовують ту саму віддалену конфігурацію з _Налаштування → Загальні_.

## Режими

- **Локально (цей Mac)**: Усе працює на ноутбуці. SSH не використовується.
- **Віддалено через SSH (типово)**: Команди OpenClaw виконуються на віддаленому хості. Застосунок Mac відкриває SSH-з’єднання з `-o BatchMode`, а також вибраним посвідченням/ключем і локальним перенаправленням порту.
- **Віддалено напряму (ws/wss)**: Без SSH-тунелю. Застосунок Mac підключається напряму до URL Gateway (наприклад, через LAN, Tailscale, Tailscale Serve або публічний HTTPS reverse proxy).

## Віддалені транспорти

Віддалений режим підтримує два транспорти:

- **SSH-тунель** (типово): Використовує `ssh -N -L ...`, щоб перенаправити порт Gateway на localhost. Gateway бачитиме IP вузла як `127.0.0.1`, оскільки тунель є loopback.
- **Прямий (ws/wss)**: Підключається безпосередньо до URL Gateway. Gateway бачить реальну IP-адресу клієнта.

Застосунок вимикає мультиплексування SSH-з’єднань і переведення у фоновий режим після автентифікації для SSH-процесів, якими володіє застосунок, щоб він міг відстежувати й перезапускати саме цей процес, навіть коли вибраний псевдонім вмикає `ControlMaster` або `ForkAfterAuthentication`.

Перевірка ключа SSH-хоста за замовчуванням сувора, оскільки облікові дані Gateway проходять через цей тунель. Для керованого SSH-псевдоніма, поведінку довіри якого ви явно маєте намір використовувати, увімкніть це через `openclaw-mac configure-remote --ssh-target <alias> --ssh-host-key-policy openssh` або задайте для `gateway.remote.sshHostKeyPolicy` значення `"openssh"`. Це явне ввімкнення використовує чинну політику ключів хоста OpenSSH; спершу перегляньте псевдонім і будь-яку відповідну конфігурацію `Host *` або системну конфігурацію. Зміна SSH-цілі в застосунку або через `configure-remote` скидає політику до `strict`, якщо ви явно не ввімкнете її знову.

У режимі SSH-тунелю знайдені імена хостів LAN/tailnet зберігаються як
`gateway.remote.sshTarget`. Застосунок залишає `gateway.remote.url` на локальній
кінцевій точці тунелю, наприклад `ws://127.0.0.1:18789`, щоб CLI, Вебчат і
локальна служба вузла-хоста використовували той самий безпечний loopback-транспорт.
Коли виявлення повертає і raw IP-адреси Tailnet, і стабільні імена хостів, застосунок
віддає перевагу Tailscale MagicDNS або іменам LAN, щоб віддалені підключення краще
переживали зміни адрес.
Якщо локальний порт тунелю відрізняється від порту віддаленого Gateway, задайте
`gateway.remote.remotePort` як порт на віддаленому хості.

Автоматизацією браузера у віддаленому режимі володіє хост вузла CLI, а не
нативний вузол застосунку macOS. Застосунок запускає встановлену службу хоста вузла,
коли це можливо; якщо вам потрібне керування браузером із цього Mac, установіть/запустіть її через
`openclaw node install ...` і `openclaw node start` (або запустіть
`openclaw node run ...` у передньому плані), а потім націльтеся на цей вузол
із підтримкою браузера.

## Попередні вимоги на віддаленому хості

1. Установіть Node + pnpm і зберіть/установіть OpenClaw CLI (`pnpm install && pnpm build && pnpm link --global`).
2. Переконайтеся, що `openclaw` є в PATH для неінтерактивних shell (за потреби створіть symlink у `/usr/local/bin` або `/opt/homebrew/bin`).
3. Лише для SSH-транспорту: відкрийте SSH з автентифікацією за ключем. Для стабільної доступності поза LAN ми рекомендуємо IP-адреси **Tailscale**.

## Налаштування застосунку macOS

Щоб попередньо налаштувати застосунок без вітального потоку:

```bash
openclaw-mac configure-remote \
  --ssh-target user@gateway.local \
  --local-port 18789 \
  --remote-port 18789 \
  --token "$OPENCLAW_GATEWAY_TOKEN"
```

Для Gateway, який уже доступний у довіреній LAN або Tailnet, повністю пропустіть SSH:

```bash
openclaw-mac configure-remote \
  --direct-url ws://192.168.0.202:18789 \
  --token "$OPENCLAW_GATEWAY_TOKEN"
```

Це записує віддалену конфігурацію, позначає onboarding завершеним і дає застосунку змогу володіти
вибраним транспортом під час запуску.

1. Відкрийте _Налаштування → Загальні_.
2. У розділі **OpenClaw працює** виберіть **Віддалено** і задайте:
   - **Транспорт**: **SSH-тунель** або **Прямий (ws/wss)**.
   - **SSH-ціль**: `user@host` (необов’язково `:port`).
     - Якщо Gateway у тій самій LAN і оголошує Bonjour, виберіть його зі знайденого списку, щоб автоматично заповнити це поле.
   - **URL Gateway** (лише прямий): `wss://gateway.example.ts.net` (або `ws://...` для локального/LAN).
   - **Файл посвідчення** (розширено): шлях до вашого ключа.
   - **Корінь проєкту** (розширено): шлях віддаленого checkout, який використовується для команд.
   - **Шлях CLI** (розширено): необов’язковий шлях до придатної до запуску точки входу/бінарного файлу `openclaw` (автоматично заповнюється, коли оголошується).
3. Натисніть **Перевірити віддалене**. Успіх означає, що віддалена команда `openclaw status --json` виконується правильно. Помилки зазвичай означають проблеми з PATH/CLI; код виходу 127 означає, що CLI не знайдено віддалено.
4. Перевірки справності й Вебчат тепер автоматично працюватимуть через вибраний транспорт.

## Вебчат

- **SSH-тунель**: Вебчат підключається до Gateway через перенаправлений керівний порт WebSocket (типово 18789).
- **Прямий (ws/wss)**: Вебчат підключається безпосередньо до налаштованого URL Gateway.
- Окремого HTTP-сервера WebChat більше немає.

## Дозволи

- Віддаленому хосту потрібні ті самі дозволи TCC, що й локальному (Automation, Accessibility, Screen Recording, Microphone, Speech Recognition, Notifications). Запустіть onboarding на цій машині, щоб надати їх один раз.
- Вузли оголошують свій стан дозволів через `node.list` / `node.describe`, щоб агенти знали, що доступно.

## Примітки щодо безпеки

- Віддавайте перевагу loopback-прив’язкам на віддаленому хості й підключайтеся через SSH, Tailscale Serve або довірений прямий URL Tailnet/LAN.
- SSH-тунелювання за замовчуванням вимагає вже довіреного ключа хоста. Спершу довірте ключ хоста, щоб він існував у налаштованому файлі known-hosts, або явно виберіть `gateway.remote.sshHostKeyPolicy: "openssh"` для керованого псевдоніма, політику довіри OpenSSH якого ви приймаєте.
- Якщо ви прив’язуєте Gateway до інтерфейсу, відмінного від loopback, вимагайте чинну автентифікацію Gateway: token, password або identity-aware reverse proxy з `gateway.auth.mode: "trusted-proxy"`.
- Див. [Безпека](/uk/gateway/security) і [Tailscale](/uk/gateway/tailscale).

## Потік входу WhatsApp (віддалено)

- Запустіть `openclaw channels login --verbose` **на віддаленому хості**. Відскануйте QR у WhatsApp на телефоні.
- Повторно запустіть вхід на цьому хості, якщо автентифікація завершиться. Перевірка справності покаже проблеми з прив’язкою.

## Усунення несправностей

- **exit 127 / не знайдено**: `openclaw` немає в PATH для non-login shells. Додайте його до `/etc/paths`, shell rc або створіть symlink у `/usr/local/bin`/`/opt/homebrew/bin`.
- **Проба справності не вдалася**: перевірте доступність SSH, PATH і те, що Baileys увійшов у систему (`openclaw status --json`).
- **Вебчат завис**: підтвердьте, що Gateway працює на віддаленому хості, а перенаправлений порт відповідає WS-порту Gateway; UI потребує справного WS-з’єднання.
- **IP вузла показує 127.0.0.1**: очікувано з SSH-тунелем. Перемкніть **Транспорт** на **Прямий (ws/wss)**, якщо хочете, щоб Gateway бачив реальну IP-адресу клієнта.
- **Dashboard працює, але можливості Mac офлайн**: це означає, що operator/control-з’єднання застосунку справне, але companion node connection не підключене або не має своєї command surface. Відкрийте розділ пристрою в рядку меню й перевірте, чи Mac має стан `paired · disconnected`. Для кінцевих точок Tailscale Serve `wss://*.ts.net` застосунок виявляє застарілі legacy TLS leaf pins після ротації сертифіката, очищає застарілий pin, коли macOS довіряє новому сертифікату, і автоматично повторює спробу. Якщо сертифікат не є довіреним системою або хост не є іменем Tailscale Serve, задайте `gateway.remote.tlsFingerprint` як очікуваний fingerprint сертифіката, перегляньте сертифікат або перемкніться на **Віддалено через SSH**.
- **Voice Wake**: тригерні фрази автоматично пересилаються у віддаленому режимі; окремий пересилач не потрібен.

## Звуки сповіщень

Вибирайте звуки для кожного сповіщення зі скриптів за допомогою `openclaw` і `node.invoke`, наприклад:

```bash
openclaw nodes notify --node <id> --title "Ping" --body "Remote gateway ready" --sound Glass
```

У застосунку більше немає глобального перемикача "типового звуку"; викликачі вибирають звук (або не вибирають жодного) для кожного запиту.

## Пов’язане

- [Застосунок macOS](/uk/platforms/macos)
- [Віддалений доступ](/uk/gateway/remote)
