Удалённая связь
Связь между машинами соединяет компьютер OpenCodex Home с компьютером Child по SSH. Home обслуживает Child через SSH-туннель, а оба компьютера сохраняют локальную службу OpenCodex на порту 10100. Панель передаёт ключ связи для Child через SSH, поэтому вводить токен вручную не нужно.
Требования
Заголовок раздела «Требования»- Home может войти на Child по ключу OpenSSH.
- Для связи, инициированной со стороны Child, Child должен входить на Home по ключу OpenSSH (вход по паролю не поддерживается).
- На Child установлен OpenCodex 2.66.0 или новее (для связи со стороны Child — и на Home).
- Оба компьютера работают под macOS или Linux.
- Панель, с которой начинают связь, открыта на самом этом компьютере (браузер или настольное приложение, автономная установка) или через сопряжённую сессию Hub.
SSH с паролем и Windows сейчас не поддерживаются. Связь можно начать с любой стороны: с Home, как описано ниже, или с Child, как описано в разделе «Подключение этого компьютера как Child».
Добавление Child из #remote
Заголовок раздела «Добавление Child из #remote»- Откройте
#remoteв панели и включите Remote Link. - Выберите Home, затем Continue. Откроется список SSH-хостов.
- Выберите хост среди кандидатов SSH или введите псевдоним из конфигурации SSH.
- Запустите проверку соединения и сравните показанный отпечаток хоста с отпечатком нужного компьютера. Сравнение помогает обнаружить неправильный компьютер или изменённый ключ хоста до того, как SSH начнёт ему доверять.
- Подтвердите отпечаток и подключите Child.
Панель не просит вводить токен. Сначала выполняется проверка хоста, и применить связь можно только после явного подтверждения отпечатка.
Подключение этого компьютера как Child
Заголовок раздела «Подключение этого компьютера как Child»На компьютере, который должен использовать провайдеров Home:
- Откройте панель на
#remoteи включите Remote Link. - Выберите Child. Откроется список SSH-хостов.
- Выберите SSH-хост Home, запустите проверку подключения, затем сравните и подтвердите отпечаток хоста.
- Прочитайте предупреждение и выберите Connect as Child.
При подключении OpenCodex на этом компьютере перезапустится. Уже идущие запросы Codex сначала завершатся, а новые запросы могут не проходить до минуты, пока идёт перезапуск. Затем панель перезагрузится сама и покажет связь Child. Codex продолжит использовать http://127.0.0.1:<port>/v1 на этом компьютере без токена и без переменных окружения: локальный OpenCodex передаёт каждый запрос на Home, а Home обслуживает его своими провайдерами и учётными записями.
Роль Child доступна, только пока OpenCodex работает на настроенном порту, потому что Child перезапускается именно на нём. Если панель сообщает, что OpenCodex работает не на настроенном порту, сначала перезапустите его на этом порту.
Состояние связи
Заголовок раздела «Состояние связи»- Connected означает, что SSH-туннель готов и Child может использовать связь Home.
- Reconnecting означает, что туннель переподключается. Во время повторных попыток запросы могут временно получать
503сRetry-After. На Child, подключённом из собственной панели, запрос сначала до 15 секунд ждёт восстановления туннеля. - Failed означает, что связь требует действий. Проверьте SSH-аутентификацию, подтверждённый ключ хоста, перенаправление или причину тайм-аута. Child, подключённый из собственной панели, сам повторяет попытки после сна, сбоя или перезапуска: примерно раз в минуту после тайм-аута или ошибки перенаправления и каждые пять минут после ошибки аутентификации. Изменённый ключ хоста никогда не повторяется.
При сбое связи система молча не переключается на локального провайдера.
Удаление Child
Заголовок раздела «Удаление Child»Выберите Disconnect для Child и подтвердите псевдоним. Home остановит туннель, отзовёт ключ связи этого Child и удалит сохранённую запись.
Если Home не может подключиться к Child для выполнения команды отключения, выберите Remove here only. Это удаляет локальные туннель, ключ и запись. Затем войдите на Child и выполните:
ocx disconnectЧтобы отключить связь, инициированную со стороны Child, выполните ocx disconnect на Child. Команда отключает клиентский туннель и по SSH отзывает связь на Home. Если отзыв на Home не удался, команда выводит: Home revoke failed; run ocx link revoke --link-id <linkId> on the home.
Безопасность
Заголовок раздела «Безопасность»Child использует через связь провайдеров и учётные данные провайдеров компьютера Home. Home создаёт отдельный ключ связи для каждого Child; удаление связи отзывает этот ключ. Сравнивайте отпечаток хоста перед подтверждением, чтобы случайно не принять другой компьютер или изменённый ключ. Сессии панели, выданные удостоверением Tailscale, не могут управлять связями машин. На Child ключ остаётся внутри OpenCodex: учётные данные, которые Codex или Claude Code отправляют на Child, не передаются на Home, а любая программа на Child, которая обращается к 127.0.0.1:<port>, использует Home без ключа; это то же локальное доверие, что и у автономной установки. Веб-страницы с других сайтов отклоняются.
Справочник CLI
Заголовок раздела «Справочник CLI»ocx link port [--json]ocx link issue --alias <alias> --tunnel-port <port> [--json]ocx link status [--json]ocx link revoke --link-id <id> [--json]
