---
read_when:
    - Налаштування або налагодження віддаленого керування Mac
summary: Потік роботи застосунку macOS для керування віддаленим Gateway OpenClaw через SSH
title: Віддалене керування
x-i18n:
    generated_at: "2026-04-26T04:29:32Z"
    model: gpt-5.4
    provider: openai
    source_hash: 4de4980fe378fc9b685cf7732d21a80c640088191308b8ef1d3df9f468cb5be2
    source_path: platforms/mac/remote.md
    workflow: 15
---

# Віддалений OpenClaw (macOS ⇄ віддалений хост)

Цей сценарій дає змогу застосунку macOS діяти як повноцінний засіб віддаленого керування Gateway OpenClaw, що працює на іншому хості (настільному ПК/сервері). Це функція застосунку **Remote over SSH** (віддалений запуск). Усі функції — перевірки стану, переспрямування Voice Wake і Web Chat — повторно використовують ту саму конфігурацію віддаленого SSH з _Settings → General_.

## Режими

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

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

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

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

У режимі SSH tunnel виявлені імена хостів LAN/tailnet зберігаються як
`gateway.remote.sshTarget`. Застосунок зберігає `gateway.remote.url` на локальній
кінцевій точці тунелю, наприклад `ws://127.0.0.1:18789`, тому CLI, Web Chat і
локальний сервіс node-host використовують той самий безпечний транспорт loopback.

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

## Необхідні умови на віддаленому хості

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

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

1. Відкрийте _Settings → General_.
2. У розділі **OpenClaw runs** виберіть **Remote over SSH** і задайте:
   - **Transport**: **SSH tunnel** або **Direct (ws/wss)**.
   - **SSH target**: `user@host` (необов’язково `:port`).
     - Якщо Gateway перебуває в тій самій LAN і рекламує себе через Bonjour, виберіть його зі списку знайдених, щоб автоматично заповнити це поле.
   - **Gateway URL** (лише Direct): `wss://gateway.example.ts.net` (або `ws://...` для локальної мережі/LAN).
   - **Identity file** (додатково): шлях до вашого ключа.
   - **Project root** (додатково): шлях до checkout на віддаленому хості, що використовується для команд.
   - **CLI path** (додатково): необов’язковий шлях до придатної для запуску точки входу/бінарного файла `openclaw` (автоматично заповнюється, якщо рекламується).
3. Натисніть **Test remote**. Успіх означає, що віддалена команда `openclaw status --json` виконується правильно. Помилки зазвичай означають проблеми з PATH/CLI; код виходу 127 означає, що CLI не знайдено на віддаленому хості.
4. Перевірки стану та Web Chat тепер автоматично працюватимуть через цей SSH-тунель.

## Web Chat

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

## Дозволи

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

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

- Віддавайте перевагу прив’язці до loopback на віддаленому хості та підключенню через SSH або Tailscale.
- SSH-тунелювання використовує сувору перевірку host key; спочатку довіртеся host key, щоб він існував у `~/.ssh/known_hosts`.
- Якщо ви прив’язуєте Gateway до не-loopback інтерфейсу, вимагайте дійсну автентифікацію Gateway: token, password або reverse proxy з identity-aware з `gateway.auth.mode: "trusted-proxy"`.
- Див. [Безпека](/uk/gateway/security) і [Tailscale](/uk/gateway/tailscale).

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

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

## Усунення проблем

- **exit 127 / not found**: `openclaw` відсутній у PATH для не-login оболонок. Додайте його в `/etc/paths`, rc-файл вашої оболонки або створіть symlink у `/usr/local/bin`/`/opt/homebrew/bin`.
- **Health probe failed**: перевірте доступність SSH, PATH і те, що Baileys увійшов у систему (`openclaw status --json`).
- **Web Chat stuck**: переконайтеся, що Gateway працює на віддаленому хості, а переспрямований порт відповідає WS-порту Gateway; для UI потрібне справне WS-з’єднання.
- **Node IP shows 127.0.0.1**: це очікувано при використанні SSH tunnel. Перемкніть **Transport** на **Direct (ws/wss)**, якщо хочете, щоб Gateway бачив справжню IP-адресу клієнта.
- **Voice Wake**: trigger phrases автоматично переспрямовуються у віддаленому режимі; окремий засіб переспрямування не потрібен.

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

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

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

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

## Пов’язане

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