Skip to content

Latest commit

 

History

History
343 lines (250 loc) · 38.7 KB

cli.md

File metadata and controls

343 lines (250 loc) · 38.7 KB
title Командная строка
description Все команды mistgate и mistgate-node с флагами, переменными окружения, значениями по умолчанию и примерами.

У Mistgate два бинарника: mistgate — панель, mistgate-node — агент ноды. Оба принимают команду, а за ней флаги. Флаги можно писать с одним дефисом или с двумя (-data-dir или --data-dir); здесь везде два. <команда> -h печатает флаги команды.

У многих флагов есть запасная переменная окружения. Флаг в командной строке важнее переменной. Все флаги и переменные serve и setup, а также устройство каталога данных описаны ещё и в «Конфигурации».

mistgate

Команда Что делает
serve Запускает панель.
setup Создаёт каталог данных, мастер-ключ и базу; печатает адрес админки и одноразовую ссылку настройки.
backup keygen Создаёт закрытый ключ восстановления для зашифрованных бэкапов панели и печатает его открытого адресата.
backup restore Расшифровывает скачанный бэкап панели в новый каталог данных, без сети и без панели.
auth turnstile off Выключает капчу Cloudflare на страницах входа и настройки.
auth reset-login Выдаёт админу новый пароль и приложение-аутентификатор или добавляет вход по паролю.
mcp Локальный stdio-прокси к MCP панели для агентов, которые не умеют HTTP.
release keygen Создаёт ключ релиза владельца.
release build Собирает бинарники релиза единственным воспроизводимым способом (его используют CI и make build).
release sign Пересобирает бинарники и пакет edge из тега релиза и подписывает пакет нод, манифест панели и манифест edge.
release trust-key На сервере панели после смены ключа: делает ключ бинарника ключом установки.
edge deploy Разворачивает Cloudflare-версию (панель на Cloudflare Workers) в вашем аккаунте Cloudflare. Предварительная версия.
edge setup-link Печатает одноразовую ссылку настройки из файла с ключами, который записал edge deploy.
version Печатает версию, время сборки и отпечаток ключа релиза.

mistgate завершается с кодом 0 при успехе, 1 при ошибке (печатает mistgate: <ошибка>) и 2 при неизвестной или пропущенной команде.

Есть и скрытая команда panel-update-helper. Её запускает только механизм обновления панели, от root: временным unit systemd, если сама панель работает от root, иначе через фиксированный root-unit mistgate-panel-update.service. Запускать её вручную не нужно; см. «Обновления».

mistgate serve

Запускает панель на переднем плане. Запускайте её под systemd или другим супервизором. Вне режима разработки нужна установка, сделанная mistgate setup.

mistgate serve --listen :443 --acme-domain panel.example.com
Флаг Переменная По умолчанию Значение
--listen MISTGATE_LISTEN 127.0.0.1:8080 Публичный адрес: сайт-ширма, подписки, админка (если она под секретным префиксом или хостом) и точка подключения агентов.
--data-dir MISTGATE_DATA_DIR /var/lib/mistgate (./.data с --dev) Каталог данных.
--tls-cert, --tls-key MISTGATE_TLS_CERT, MISTGATE_TLS_KEY нет Свой сертификат и ключ для публичного адреса. Указываются вместе. Сертификат перечитывается, когда файл меняется.
--acme-domain MISTGATE_ACME_DOMAIN (через запятую) нет Получить сертификат Let's Encrypt для этого имени. Можно повторять. Публичный адрес должен быть доступен на порту 443. Используя флаг, вы принимаете условия CA. Сертификаты хранятся в <data-dir>/acme.
--acme-email MISTGATE_ACME_EMAIL нет Контактный адрес для Let's Encrypt.
--acme-http MISTGATE_ACME_HTTP :80 Адрес для проверки ACME HTTP-01 и перенаправления http → https, вместе с --acme-domain. Пустое значение выключает его.
--admin-listen MISTGATE_ADMIN_LISTEN сохранённая настройка Отдельный адрес админки (обычный HTTP). Только для установки, настроенной через setup --admin-listen; в остальных случаях панель откажется запускаться.
--agent-listen MISTGATE_AGENT_LISTEN нет (127.0.0.1:8082 с --dev) Отдельный TLS-адрес для агентов нод. Без него агенты подключаются к публичному адресу с секретным именем SNI, а для этого на нём нужен TLS (--tls-cert или --acme-domain).
--agent-addr MISTGATE_AGENT_ADDR --agent-listen, если в нём указан хост, иначе хост и порт публичного URL (443, если порта нет) host:port, к которому подключаются агенты; попадает в команду установки.
--decoy-dir MISTGATE_DECOY_DIR встроенная страница Каталог со своим сайтом-ширмой. 404.html и 429.html в нём заменяют встроенные страницы ошибок.
--trusted-proxy MISTGATE_TRUSTED_PROXY (через запятую) нет CIDR или IP обратного прокси, чьему заголовку X-Forwarded-For можно верить. Прокси должен сам выставлять или перезаписывать этот заголовок; прокси, который пишет только Forwarded, не поддерживается. Можно повторять. Без него клиентом считается TCP-собеседник.
--update-service MISTGATE_UPDATE_SERVICE mistgate.service (с --dev — нет) Собственный unit systemd панели, который механизм обновления останавливает и снова запускает вокруг замены бинарника. Используется, когда панель работает от root; панель от другого пользователя запускает фиксированный root-unit, в командной строке которого unit указан сам.
--log-level MISTGATE_LOG_LEVEL info Уровень журнала панели при запуске: debug, info, warn или error. Владелец может менять его на ходу (Настройки → Система); после перезапуска вернётся это значение.
--log-format MISTGATE_LOG_FORMAT text text или json: формат журнала в stderr.
--source-url MISTGATE_SOURCE_URL https://github.com/Mistgate/mistgate Где опубликован исходный код этой сборки; ссылка стоит рядом с версией в админке (AGPL-3.0, раздел 13). Форк указывает свой репозиторий; пустое значение скрывает ссылку.
--dev MISTGATE_DEV (1, true, yes, on) выключен Режим разработки, см. ниже.

Режим разработки. --dev берёт ./.data, работает по обычному HTTP: ширма на 127.0.0.1:8080, админка на 127.0.0.1:8081, точка подключения агентов на 127.0.0.1:8082; WebAuthn RP — localhost; setup не нужен; пока админа нет, печатается одноразовая ссылка настройки (http://localhost:8081/setup#…, действует 30 минут). Никогда не используйте его на сервере.

mistgate setup

Готовит новую установку: создаёт каталог данных (режим 0700), мастер-ключ и базу, сохраняет, как попасть в админку, и печатает это. Запускать повторно безопасно: существующая конфигурация сохраняется, а новая ссылка настройки выдаётся, только пока админа нет (прежние неиспользованные ссылки перестают работать). Если база есть, а master.key нет, команда отказывается и просит вернуть ключ из резервной копии, а не создаёт новый.

mistgate setup --public-url https://panel.example.com
Data dir:   /var/lib/mistgate
Admin URL:  https://panel.example.com/<secret prefix>/
Setup link: https://panel.example.com/<secret prefix>/setup#<token>
The link works once and expires in 30 minutes. Open it in a browser and create your admin (a passkey, or a password with an authenticator code).
Флаг Переменная По умолчанию Значение
--data-dir MISTGATE_DATA_DIR /var/lib/mistgate Каталог данных (база, мастер-ключ).
--public-url MISTGATE_PUBLIC_URL нет URL публичного сайта (ширмы), например https://panel.example.com. Он же — основа ссылок подписки.
--admin-host MISTGATE_ADMIN_HOST нет Отдавать админку на этом секретном имени хоста вместо секретного префикса пути.
--admin-listen MISTGATE_ADMIN_LISTEN нет Отдавать админку на отдельном адресе, например 127.0.0.1:8081. Нельзя сочетать с --admin-host.
--rp-id MISTGATE_RP_ID выводится Идентификатор WebAuthn RP.
--rp-origins MISTGATE_RP_ORIGINS выводятся Разрешённые источники WebAuthn через запятую.

Нужен один из флагов --public-url, --admin-host или --admin-listen. Где окажется админка:

Указано Адрес админки WebAuthn RP
только --public-url <public url>/<24 случайных символа>/ публичный хост
--admin-host admin-k7q2.example.com https://admin-k7q2.example.com/ (схема и порт из --public-url, если он указан) хост админки
--admin-listen 127.0.0.1:8081 http://localhost:8081/ localhost

Ещё setup создаёт секретное имя SNI точки подключения агентов и секретный префикс ссылок подписки. Повторный setup эти настройки не меняет.

mistgate backup

Две офлайн-команды зашифрованных бэкапов панели. Сами бэкапы делает работающая панель (Настройки → Бэкапы); эти команды не обращаются ни к ней, ни к бакету.

mistgate backup keygen --identity-file FILE
mistgate backup restore --identity-file FILE --file BACKUP.tar.gz.age --data-dir NEW-DIR
Флаг Значение
keygen --identity-file Куда записать закрытый age-ключ восстановления. Файла не должно быть: существующий никогда не перезаписывается. Недостающие родительские каталоги создаются с правами 0700, файл получает права 0600.
restore --identity-file Закрытый ключ, созданный backup keygen.
restore --file Зашифрованный бэкап, скачанный из бакета (.tar.gz.age).
restore --data-dir Новый каталог для восстановленных данных; его ещё не должно существовать.

Все флаги обязательны; переменных окружения нет. backup keygen запускается один раз, на доверенном компьютере, но не на сервере панели. Команда печатает путь и открытого адресата (age1…), которого нужно вставить в Настройки → Бэкапы; файл ключа храните офлайн.

Команде backup restore не нужны ни сеть, ни запущенная панель. Команда расшифровывает архив, сверяет каждый файл с манифестом архива, проверяет мастер-ключ и базу (архив от более новой версии Mistgate, базу которой этот бинарник не знает, отклоняется с названием версии, которая его сделала; база должна пройти проверку целостности), распаковывает всё во временный каталог рядом с целевым и переименовывает его на место, только когда все проверки прошли. Укажите новый каталог в serve --data-dir; если systemd передаёт панели master.key через LoadCredential=, сначала замените этот credential восстановленным ключом.

mistgate backup restore --identity-file ./mistgate-recovery.txt \
  --file ./backup.tar.gz.age --data-dir /var/lib/mistgate-restored

mistgate auth

Команды оператора на сервере панели. Обе работают и при запущенной, и при остановленной панели: она читает эти настройки на каждый запрос.

mistgate auth turnstile off [--data-dir DIR]
mistgate auth reset-login [<login>] [--admin ID] [--qr-invert] [--data-dir DIR]
Флаг Переменная По умолчанию Значение
--data-dir MISTGATE_DATA_DIR /var/lib/mistgate (./.data с --dev) Каталог данных. Каталог без базы панели команда не примет.
--dev MISTGATE_DEV выключен Установка для разработки: данные в ./.data.
--admin нет нет Только reset-login: идентификатор админа, которому даётся вход по паролю.
--qr-invert нет выключен Только reset-login: рисовать QR-код для светлого фона терминала.

auth turnstile off выключает проверку Cloudflare на страницах входа и настройки; ключи остаются сохранены. Это путь обратно, когда Cloudflare недоступен или ключи неверны. Включить снова — в Настройки → Безопасность.

auth reset-login — путь обратно после потери телефона:

  • mistgate auth reset-login показывает админов панели: идентификатор, имя, роль, логин и число passkey.
  • mistgate auth reset-login <логин> выдаёт этому логину новый пароль и новое приложение-аутентификатор, снимает его блокировки и завершает все сессии этого админа. Passkey остаются.
  • mistgate auth reset-login <новый логин> --admin <id> даёт админу, у которого только passkey, вход по паролю (--admin выбирает админа, если их несколько).

Команда печатает логин, новый пароль и ключ аутентификатора: QR-кодом в терминале, текстом группами по четыре символа и ссылкой otpauth://. Пароль показывается один раз. Нужен мастер-ключ, поэтому запускайте команду от пользователя, который может читать каталог данных. Обе команды пишутся в журнал аудита как «командная строка».

mistgate auth reset-login alice

mistgate mcp

Локальный MCP-сервер на stdin и stdout для агентов, которые умеют только запускать команду. Он пересылает каждое сообщение в MCP панели (адрес админки плюс mcp) и сам ничего не решает: отвечает панель, с профилем токена.

mistgate mcp --url https://panel.example.com/<prefix>/ --token-file ~/.config/mistgate/token
Флаг Переменная Значение
--url MISTGATE_URL Адрес админки, который напечатал mistgate setup. Обычный http отклоняется, кроме localhost и loopback-адресов. В URL не должно быть учётных данных, query и fragment.
--token-file MISTGATE_TOKEN_FILE Файл, первая строка которого — API-токен (tk1_…). Токен читается только из файла, никогда из командной строки или окружения, и никогда не печатается. Если файл читают другие, печатается предупреждение.

Прокси останавливается, когда панель отклоняет токен (истёк, отозван или не тот профиль). В stdout идут только сообщения протокола, всё остальное — в stderr. См. MCP.

mistgate release keygen

mistgate release keygen --out ~/mistgate-release.key
Флаг Значение
--out Файл для закрытого ключа. Файла не должно быть: существующий ключ никогда не перезаписывается. Режим файла — 0600.

Печатает открытый ключ и его отпечаток. Открытый ключ вшивается в сборку: RELEASE_KEY=<открытый ключ> make build. Храните файл ключа офлайн и сделайте его копию. См. «Релизы и подпись».

mistgate release build

mistgate release build --version V [--built UNIX] [--key PUBLIC] [--source DIR] NAME... --out DIR
Флаг По умолчанию Значение
--version нет Версия, вшиваемая в бинарники, например v0.1.4.
--built время коммита --source Unix-время коммита исходников; задаёт порядок релизов.
--key нет Открытый ключ релиза (base64). Без него бинарники не обновляются сами.
--source . Каталог с исходниками (рабочая копия git).
--out нет Каталог для бинарников.

NAME — mistgate-linux-amd64, mistgate-linux-arm64, mistgate-node-linux-amd64, mistgate-node-linux-arm64 или mistgate-edge.tar.gz (облачная редакция: пять wasm-файлов ролей, шесть скриптов Worker, собранных закреплённым esbuild, web/dist и edge.json в детерминированном архиве; кроме SPA нужен pnpm install --frozen-lockfile в edge/worker). Сборка воспроизводима: CGO_ENABLED=0, -trimpath, -buildvcs=false, тулчейн Go из go.mod (скачивается, если локальный Go другой версии), GOAMD64=v1/GOARM64=v8.0, а в -ldflags — только версия, время сборки и ключ. Бинарник панели содержит web/dist: сначала соберите SPA (cd web && pnpm install --frozen-lockfile && pnpm build). Эту команду вызывают workflow релиза и make build; она печатает SHA-256 каждого бинарника.

mistgate release sign

mistgate release sign --key FILE --version V [--built UNIX] [--expires 30d] [--source DIR] BINARY... --out DIR
Флаг По умолчанию Значение
--key нет Файл закрытого ключа релиза от release keygen.
--version нет Тег релиза, например v0.1.4.
--built время коммита тега Если указан, должен совпадать со временем коммита тега.
--expires 30d Сколько манифесты можно устанавливать: дни (30d) или длительность в формате Go (720h).
--source . Чистая рабочая копия тега --version (локальные изменения отслеживаемых файлов не допускаются).
--out нет Каталог для манифестов, их подписей и копий бинарников.

Бинарники называются <имя>-<ос>-<архитектура>: mistgate-node-linux-* попадают в пакет нод (manifest.json, manifest.sig), mistgate-linux-* — в манифест панели (panel-manifest.json, panel-manifest.sig; он подписывается в отдельном контексте Ed25519, поэтому одна подпись не проходит за другую). Перед подписью команда пересобирает каждый бинарник из --source через release build с открытой половиной --key и отказывается, если хоть один байт отличается: вы подписываете то, во что собирается тег, а не то, что загрузил CI. Переданный вместе с ними mistgate-edge.tar.gz пересобирается так же и получает собственные edge-manifest.json и edge-manifest.sig в третьем контексте подписи. Флаги можно писать и после бинарников. Команда проверяет записанное и печатает каждый файл с размером и отпечаток ключа. Подписывать можно локально собранным бинарником любой версии: go build -o mistgate ./cmd/mistgate.

mistgate release sign --key ~/mistgate-release.key --version v0.1.4 --source ~/src/mistgate \
  downloaded/mistgate-node-linux-amd64 downloaded/mistgate-node-linux-arm64 \
  downloaded/mistgate-linux-amd64 downloaded/mistgate-linux-arm64 --out signed

Весь процесс выпуска описан в разделе «Релизы и подпись».

mistgate release trust-key

mistgate release trust-key [--data-dir DIR] [--dev]

Запускается на сервере панели от пользователя службы панели или root после смены ключа релиза, когда уже установлена панель, собранная с новым ключом. Записывает вшитый в этот бинарник ключ в <data-dir>/release.pub и печатает старый и новый отпечатки. До этого панель, чей вшитый ключ не совпадает с release.pub, пишет ошибку в журнал и не доверяет ни одному пакету. После команды перезапустите панель. --data-dir берётся из MISTGATE_DATA_DIR, иначе /var/lib/mistgate; --dev (или MISTGATE_DEV) означает ./.data. Бинарник, собранный без ключа релиза, откажется.

mistgate edge

mistgate edge deploy --host HOST [--name NAME] [--d1-location LOC] [--bundle DIR | --version vX.Y.Z] [--resume] [--dry-run] [--insecure-skip-signature]
mistgate edge deploy --host HOST [--name NAME] --rollback [--dry-run]
mistgate edge setup-link --file FILE

edge deploy создаёт базу D1 и шесть скриптов Worker Cloudflare-версии, привязывает HOST как custom domain и печатает адрес админки и одноразовую ссылку настройки. API-токен он читает только из CLOUDFLARE_API_TOKEN, а ключи новой панели записывает в mistgate-edge-<name>.json в текущем каталоге: сохраните этот файл. --dry-run только читает из Cloudflare и печатает план; --resume продолжает остановившийся запуск. Запущенный снова без --resume, он обновляет развёртывание и загружает только изменившиеся скрипты; --rollback возвращает каждый скрипт на версию, которая была до последнего обновления. edge setup-link печатает сохранённую ссылку настройки из файла с ключами. Все флаги, права токена и первый вход описаны в Установке Cloudflare-версии.

mistgate version

Печатает mistgate <версия>, затем built <время>, если бинарник собран со временем сборки, затем release key <отпечаток> или release key: none (unsigned build, nodes are updated by hand).

mistgate-node

Команда Что делает
enroll Обменивает одноразовый токен на сертификат ноды.
install Пишет защищённый unit systemd, включает и запускает его.
run Запускает агента на переднем плане.
cleanup-net Убирает туннельные интерфейсы агента, маршруты WARP и таблицы nftables.
awg prepare-kernel Ставит модуль ядра AmneziaWG.
host enable-security-updates Включает автоматические обновления безопасности (Debian и Ubuntu).
version Печатает версию, время сборки и отпечаток ключа релиза.

enroll и run принимают --state-dir; давайте им один и тот же каталог. Коды завершения: 0 — успех, 1 — ошибка, 2 — неверный вызов, 78 — от run, если для ноды не выполнен enroll (тогда systemd не перезапускает агента).

Когда вы добавляете ноду, панель показывает команду установки целиком:

chmod +x /root/mistgate-node && /root/mistgate-node enroll --panel panel.example.com:443 --sni <секретное имя> \
  --ca-sha256 <отпечаток> --token <одноразовый токен> && /root/mistgate-node install

mistgate-node enroll

Флаг Переменная По умолчанию Значение
--panel MISTGATE_PANEL нет Адрес панели, host:port.
--sni MISTGATE_AGENT_SNI нет Секретное имя SNI точки подключения агентов.
--ca-sha256 MISTGATE_CA_SHA256 нет Отпечаток SHA-256 сертификата CA панели (64 шестнадцатеричные цифры). Агент доверяет панели только по нему.
--token MISTGATE_ENROLL_TOKEN нет Одноразовый токен подключения. Переменная прячет его из списка процессов.
--token-stdin нет выключен Прочитать токен из stdin (одна строка, не больше 256 байт): он не попадёт ни в список процессов, ни в историю оболочки. Нельзя сочетать с --token или MISTGATE_ENROLL_TOKEN.
--state-dir MISTGATE_NODE_STATE_DIR /var/lib/mistgate-node Каталог состояния.
--force нет выключен Заменить существующее удостоверение ноды.
--resume-key нет выключен Хранить новый закрытый ключ в enroll-pending.pem в каталоге состояния, пока подключение не удастся, и брать его снова при следующей попытке, чтобы прерванное подключение можно было повторить: на повтор с тем же токеном и ключом в течение 10 минут панель отвечает тем же сертификатом. С --force создаётся новый ключ.

Обязательны --panel, --sni, --ca-sha256 и токен (--token, MISTGATE_ENROLL_TOKEN или --token-stdin); без них enroll завершается с кодом 2. Токен срабатывает один раз и действует столько, сколько показала панель (по умолчанию час). Установка по SSH из панели выполняет те же enroll и install по SSH, передавая токен через stdin с --token-stdin --resume-key. При успехе команда печатает идентификатор ноды и следующий шаг:

enrolled as nod_… with panel.example.com:443; state in /var/lib/mistgate-node
next: mistgate-node install   (or, in the foreground: mistgate-node run)

mistgate-node install

Только Linux, от root, после enroll.

Флаг Переменная По умолчанию Значение
--state-dir MISTGATE_NODE_STATE_DIR /var/lib/mistgate-node Каталог состояния; тот же, что у enroll.
--bin нет /usr/local/bin/mistgate-node Где лежит бинарник. Если запущенный бинарник в другом месте, он копируется туда.
--no-start нет выключен Записать и включить unit, но не запускать.

Команда пишет /etc/systemd/system/mistgate-node.service, затем выполняет systemctl daemon-reload, enable и restart. Этот unit:

  • запускает агента от root только с двумя возможностями (администрирование сети и занятие низких портов) и с системой только для чтения, кроме каталога состояния, каталога бинарника (для самообновления), /etc/sysctl.d и /etc/systemd/journald.conf.d;
  • выставляет лимиты памяти по объёму RAM сервера;
  • перезапускает агента через 5 секунд после сбоя, но не после кода 78;
  • перед каждым запуском возвращает прежний бинарник после цикла падений свежего обновления, а после каждой остановки выполняет cleanup-net.

Повторный install с новым бинарником — это и есть ручное обновление ноды (см. «Обновления»). В путях допустимы только буквы, цифры и _ . / -.

mistgate-node run

Запускает агента на переднем плане: то же, что делает unit, и способ попробовать агента без systemd.

Флаг Переменная По умолчанию Значение
--state-dir MISTGATE_NODE_STATE_DIR /var/lib/mistgate-node Каталог состояния.
--log-level MISTGATE_LOG_LEVEL info debug, info, warn или error.
--log-format MISTGATE_LOG_FORMAT text text или json. Лог идёт в stderr.

Завершается с кодом 78, если в каталоге состояния нет удостоверения ноды, и с кодом 0, если панель вывела ноду из флота.

mistgate-node cleanup-net

Убирает туннельные интерфейсы агента, его туннельную таблицу nftables и, если они есть, устройство, маршруты, правила и таблицу WARP. Ему не нужны ни состояние, ни панель. Unit выполняет эту команду после каждой остановки; при запуске агент создаёт всё заново.

IPv6-адреса, которые агент держит для входа по IPv6, переживают остановку, перезапуск и обновление. --ipv6-addresses убирает и их, но только те, что добавил сам агент (они названы в ipv6-owned.json в каталоге состояния, --state-dir), и никогда адреса самого хоста; используйте для ручной очистки сервера.

mistgate-node awg prepare-kernel

Ставит модуль ядра AmneziaWG на ноду. Только Linux, от root. Бэкенду userspace, который работает по умолчанию, модуль не нужен.

mistgate-node awg prepare-kernel          # печатает план, ничего не выполняет
mistgate-node awg prepare-kernel --yes    # выполняет
Флаг По умолчанию Значение
--yes выключен Выполнить команды. Без него план только печатается.
--verify-only выключен Только проверить уже установленный модуль (загружен, нужная версия интерфейса, загружается при старте).
--status-file нет Писать ход и результат в этот файл (так агент следит за сборкой, когда её запросила панель).
--timeout 45m Жёсткий предел времени.

Пакеты ставятся через apt (без вопросов, с ожиданием блокировки другого менеджера пакетов до 30 минут). Поддерживаются Debian и Ubuntu, не в контейнере, без Secure Boot, с systemd. См. AmneziaWG.

mistgate-node host enable-security-updates

Включает автоматические обновления безопасности. Только Linux, от root. При необходимости ставит unattended-upgrades, включает периодические настройки APT и таймеры apt-daily; обновления сам не ставит и не перезагружает сервер. Без --yes только описывает изменения. --status-file пишет ход работы в файл (так агент следит за ней, когда команду запускает исправление доктора Включить обновления безопасности), --timeout ограничивает время (по умолчанию 20m). См. Исправления.

mistgate-node version

Печатает mistgate-node <версия>, built <Unix-время> и release key <отпечаток> или release key none (unsigned build: update by hand).