2.5 KiB
Контракт 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.