Доступ по коду согласия
Зачем это нужно
Заголовок раздела «Зачем это нужно»Обычная («управляемая») машина принадлежит организации, и её операторы имеют к ней постоянный доступ. Но бывает, что агент стоит на чужой машине — у клиента, у коллеги, на домашнем ПК — и постоянного доступа быть не должно. Для этого есть режим доступа «Только по коду» и команда nythronix-agent share.
Модель напоминает TeamViewer или AnyDesk: владелец в нужный момент генерирует одноразовый код, сообщает его оператору, тот вводит код в кабинете и получает ровно то, что разрешил владелец. Без кода доступ невозможен — даже для операторов организации, к которой относится агент.
Код может ввести оператор любой организации: это сделано намеренно, чтобы вы могли помочь клиенту, чьи машины не находятся в вашем кабинете.
Режим доступа машины
Заголовок раздела «Режим доступа машины»В «Админ → Агенты» колонка Доступ имеет два значения:
- Управляемый — по умолчанию; операторы организации подключаются в любой момент.
- Только по коду — панель отклоняет любую попытку открыть или присоединиться к сессии, если нет действующего кода, привязанного именно к этой сессии и именно к этому оператору. Сессии на такой машине рождаются только через ввод кода.
Режим выбирается администратором при регистрации машины или позже в той же таблице.
На стороне владельца
Заголовок раздела «На стороне владельца»Владелец — тот, кто может выполнять команды на машине. На Linux команда читает учётные данные агента из /etc/nythronix/agent.json, поэтому запускается от root; на Windows — из командной строки администратора:
sudo nythronix-agent shareAccess code: 4f2a-9c11-be07 new shell · read-write · expires in 3600s · single-use Give this code to the operator; they enter it in the dashboard. (grant 6b0e…)Запуск команды и есть согласие — никаких дополнительных окон подтверждения на машине нет. Флаги:
| Флаг | Что даёт |
|---|---|
| без флагов | новая оболочка на машине, оператор может печатать |
--session <id> |
доступ к уже существующей сессии вместо новой |
--view-only |
оператор только смотрит, ввод игнорируется |
--ttl <секунд> |
срок действия кода (по умолчанию 3600 — один час) |
Каждый код одноразовый. Агент отправляет панели только SHA-256-хеш кода: сервер управления не знает сам код и не может им воспользоваться.
На стороне оператора
Заголовок раздела «На стороне оператора»На дашборде кабинета есть поле «Код доступа» и кнопка «Подключиться». Введите код в том виде, как его напечатал владелец. Панель:
- находит действующий код по хешу (не истёк, не отозван, не использован);
- проверяет, что машина online — иначе ответит ошибкой «машина не в сети», и код останется неиспользованным;
- запускает новую оболочку или привязывает вас к указанной сессии;
- открывает терминал
/session/<id>.
Права в терминале определяются кодом: --view-only даёт только просмотр, независимо от вашей роли в кабинете.
Срок действия и отзыв
Заголовок раздела «Срок действия и отзыв»Доступ прекращается, когда наступает любое из событий:
- истёк
--ttl; - код уже был использован (все коды одноразовые);
- агент отключился от панели или был перезапущен — при этом все выданные им коды и доступы аннулируются;
- сессия остановлена (кнопкой «Остановить» в кабинете или выходом из оболочки).
Отдельной команды отзыва на стороне агента пока нет; самый надёжный способ прервать доступ немедленно — перезапустить службу агента (systemctl restart nythronix-agent или nythronix-agent service stop на Windows). Возможности --watch (владелец видит сессию в своём терминале) и --ssh (код на SSH-туннель) описаны в планах, но пока недоступны.
Что видит владелец
Заголовок раздела «Что видит владелец»Сессия, открытая по коду, — обычный процесс оболочки на машине от пользователя агента (или назначенного логина). Владелец видит её в ps, а для tmux/zellij — в списке сессий мультиплексора как nyx-<id>. Записи об открытии потока и выдаче кода попадают в аудит панели. Живого зеркала сессии на экране владельца в текущей версии нет.
Рекомендации
Заголовок раздела «Рекомендации»- Не публикуйте код в общих чатах; срок в один час по умолчанию можно сократить
--ttl 600. - Для консультаций без вмешательства используйте
--view-only. - Для машин клиентов ставьте режим «Только по коду» сразу при регистрации и, при необходимости, ограничьте sudo локальной политикой — см. Установка на Linux.