server-monitor-manager/docs/installer-contract.md
2026-07-15 13:27:27 +07:00

2.5 KiB
Raw Blame History

Контракт Linux-установщика

Файл ochenstarik-server-monitor-manager.sh находится в ochenstarik-ui/lightweight-server; синхронная копия хранится в deploy/ этого репозитория.

Первый тестовый этап: SSH pull

До появления постоянного агента Windows-клиент получает метрики через OpenSSH. Установщик:

  • поддерживает Ubuntu/Debian с systemd;
  • запрашивает публичный ключ ssh-ed25519, созданный Windows-клиентом;
  • проверяет синтаксис ключа через ssh-keygen;
  • устанавливает и включает OpenSSH Server, не меняя текущий SSH-порт;
  • создаёт отдельного системного пользователя ochenstarik-monitor без пароля;
  • устанавливает root-owned metrics command;
  • записывает ключ как restrict,command="...";
  • не создаёт UFW-правил и не открывает дополнительных портов;
  • поддерживает install, status и uninstall;
  • допускает безопасный повторный запуск для замены ключа мониторинга.

Forced-command отдаёт только строки KEY=VALUE:

PROTOCOL=1
HOSTNAME=server-name
UPTIME_SECONDS=12345
LOAD1=0.42
CPU_COUNT=4
MEM_TOTAL_KB=...
MEM_AVAILABLE_KB=...
DISK_TOTAL_KB=...
DISK_AVAILABLE_KB=...
KERNEL=...

Ключ мониторинга не должен позволять shell, PTY, agent forwarding, TCP forwarding или выполнение переданной клиентом команды. Полноценный SSH-терминал использует отдельную пользовательскую identity и не входит в этот ключ.

Будущий этап: постоянный агент

После проверки UX на нескольких серверах SSH pull будет дополнен статическим агентом для потоковых метрик, systemd events, короткого локального буфера и управляемых WireGuard Links. Агент будет регистрироваться одноразовым token и работать по исходящему mTLS-соединению без входящего API.