Lightweight Windows-first Linux server monitoring, SSH access, and secure WireGuard Link management through an mTLS control plane.
Find a file
2026-07-15 13:39:35 +07:00
deploy Add one-command server installation 2026-07-15 13:39:35 +07:00
docs Add one-command server installation 2026-07-15 13:39:35 +07:00
src/ServerMonitorManager.Desktop Add Windows SSH monitoring MVP 2026-07-15 13:27:27 +07:00
.gitignore Add Windows SSH monitoring MVP 2026-07-15 13:27:27 +07:00
README.md Add one-command server installation 2026-07-15 13:39:35 +07:00

Server Monitor Manager

Лёгкая система мониторинга и безопасного управления Linux-серверами с одного ПК. Первый клиент создаётся для Windows; после стабилизации протокола появятся клиенты для других настольных систем и мобильных устройств.

Основные задачи

  • единая панель для нескольких личных и рабочих серверов;
  • CPU/load, память, корневой диск, задержка и uptime через ограниченный SSH forced-command;
  • SSH-терминал и сохранённые подключения без передачи приватных ключей серверу управления;
  • группы серверов, теги, избранное и сводные предупреждения;
  • явное включение и ручное отключение защищённых связей между серверами;
  • ограниченный доступ автоматизированных инструментов, например Hermes, к выбранному серверу разработки;
  • маленький Linux-агент без тяжёлой панели, Docker и отдельной базы данных на каждом узле.

Архитектура

Windows client
      |
      | HTTPS / WebSocket, mTLS
      v
Control node (может работать на одном из ваших серверов)
      ^
      | только исходящие соединения агентов
      |
Linux agents  ----  управляемые WireGuard links  ----  Linux agents

Мониторинг и межсерверные связи разделены. Регистрация агента не создаёт сетевого туннеля и не выдаёт доступ к SSH. Каждая связь создаётся отдельно, имеет список разрешённых адресов и портов, может иметь срок действия и всегда поддерживает ручной Disconnect.

Подробности: архитектура, модель безопасности, план разработки и контракт Linux-установщика.

Планируемая структура

src/
  ServerMonitorManager.Desktop/   WinUI 3, Windows-first
  ServerMonitorManager.Core/      общие модели и сценарии
  ServerMonitorManager.Agent/     лёгкий Linux-агент
  ServerMonitorManager.Control/   API, события, аудит и координация
docs/
deploy/
tests/

Текущий статус

Проект находится на стадии первого тестируемого Windows MVP. Репозиторий переименован из mobile-server-manager, потому что первой целевой платформой теперь является Windows. Клиент создаёт отдельный Ed25519-ключ, сохраняет профили локально и получает живые метрики серверов через системный OpenSSH.

Установочный скрипт Linux-части хранится в репозитории ochenstarik-ui/lightweight-server под именем ochenstarik-server-monitor-manager.sh. Его копия находится в deploy/. Скрипт создаёт отдельного пользователя ochenstarik-monitor и SSH forced-command: ключ мониторинга не получает shell, PTY, port forwarding или право выполнять произвольные команды.

Быстрый тест на трёх серверах

  1. Запустите Windows-клиент и нажмите SSH-ключКопировать.
  2. На каждом Ubuntu/Debian-сервере запустите одну команду:
curl -fsSL \
  https://raw.githubusercontent.com/ochenstarik-ui/lightweight-server/agent/server-monitor-installer/ochenstarik-server-monitor-manager.sh \
  | sudo bash -s -- install
  1. Вставьте скопированный публичный ключ по запросу скрипта.
  2. В приложении нажмите Добавить сервер, укажите IP/домен, текущий SSH-порт и пользователя ochenstarik-monitor.
  3. Повторите для остальных серверов и нажмите Обновить.

Приватный ключ хранится в локальном каталоге packaged-приложения Windows. Первый SSH-host key принимается в режиме accept-new, затем проверяется по отдельному known_hosts приложения.

Для повторяемой установки без ручного ввода публичный ключ можно передать через окружение. Это публичная часть ключа, не секрет:

curl -fsSL \
  https://raw.githubusercontent.com/ochenstarik-ui/lightweight-server/agent/server-monitor-installer/ochenstarik-server-monitor-manager.sh \
  | sudo env SERVER_MONITOR_PUBLIC_KEY='ssh-ed25519 AAAA... server-monitor-manager' \
    bash -s -- install

Для предварительной проверки вместо запуска через pipe скачайте файл, выполните bash -n и просмотрите его содержимое.

Принципы безопасности

  • никаких общих root-паролей и приватных SSH-ключей в control node;
  • на первом SSH-MVP — отдельный ключ мониторинга и pinned known_hosts; enrollment tokens появятся вместе с постоянным агентом;
  • отдельная идентичность для пользователя, устройства, агента и автоматизации;
  • опасные действия требуют повторного подтверждения и попадают в неизменяемый аудит;
  • доступ Hermes выдаётся отдельному Unix-пользователю и SSH-ключу с минимальными правами;
  • отключение Link удаляет маршруты и peer-конфигурацию, а не только скрывает кнопку в интерфейсе.

Лицензия и секреты

Лицензия будет выбрана до публикации первого исходного релиза. Токены регистрации, ключи WireGuard, SSH-ключи, сертификаты устройств и production-конфигурация не должны попадать в Git.