Cockpit: графический веб‑интерфейс для администрирования Linux
Что такое Cockpit
Cockpit — это лёгкий, веб‑ориентированный интерфейс для управления системами Linux. Он упрощает типичные операции администратора, оставляя возможность выполнить тонкую настройку через терминал. Одно предложение: Cockpit даёт визуальный слой поверх обычных системных инструментов, таких как systemd, iptables/Firewalld, logind и udisks.
Важно: Cockpit не заменяет знание командной строки; он ускоряет рутинные задачи и снижает вероятность ошибок при выполнении стандартных операций.
Почему стоит использовать Cockpit
- Быстрый доступ к состоянию сервера через браузер.
- Единый интерфейс для логов, сетевых настроек, хранения и сервисов.
- Поддержка удалённого управления через порт 9090 с аутентификацией Unix‑пользователей.
- Возможность одновременно работать с несколькими машинами через добавление узлов.
Как подключиться к Cockpit
Чтобы открыть Cockpit, введите в адресной строке браузера адрес сервера и порт 9090. Пример домашнего Raspberry Pi:
10.0.0.11:9090Используйте имя хоста или IP вашей машины и добавьте :9090. Войдите под пользователем root или другим пользователем с правом привилегированного управления. Если Cockpit недоступен, убедитесь, что служба установлена и прослушивает порт 9090.

Первый экран: обзор системы
После входа отображается экран обзора системы: загрузка CPU, использование памяти, сведения о сервере, краткая конфигурация и индикатор здоровья. Это идеальная стартовая точка для оценки текущего статуса и выявления срочных задач, например, доступных обновлений.
- Быстрый контроль загрузки и памяти.
- Списки предупреждений и ошибок.
- Быстрая перезагрузка или завершение работы системы.

Важно: с этого экрана удобно переходить к более сложным задачам по ссылкам, например, присоединение к домену или детальная диагностика.
Навигация: что есть слева
На левой панели находятся основные разделы: Обзор, Логи, Хранилище, Сеть, Учётные записи, Службы, Обновления ПО, Терминал и т. д. Переключение между ними даёт мгновенный доступ к соответствующим инструментам.
Логи
Вкладка «Логи» показывает системные сообщения без необходимости вручную просматривать /var/log. Записи помечаются иконками ошибки/предупреждения, доступна фильтрация по времени, приоритету и идентификаторам.
Если нужно — щёлкните по записи для подробностей. Пример: в моём Raspberry Pi лог показал, что принтер был выключен при попытке печати.

Совет: фильтруйте по приоритету «Error» для быстрого поиска критичных проблем.
Хранилище
Вкладка «Хранилище» даёт обзор файловых систем и ввода/вывода дисков. Отсюда можно добавить удалённые ресурсы вроде NFS, монтировать устройства и просматривать использование дисков.
Пример: у меня основная система на microSD, а резервная копия на USB‑флешке, смонтированной в /backup. На табло видно, что backup заполнен примерно наполовину, а основной диск имеет запас места.

Проверка целостности и свободного места теперь занимает секунды вместо обхода нескольких команд.
Сеть
Вкладка «Сеть» отображает активные интерфейсы и трафик на них. Если сервер использует только Wi‑Fi, будет виден только wlan0 и его статистика. Отсюда можно управлять сетевыми профилями и менять настройки устройств.

Практическое применение: быстро найти перегруженный интерфейс или проверять, что сетевые службы работают корректно.
Брандмауэр
Управление брандмауэром стало простым: кнопка «Edit rules and zones» открывает панель управления зонами и сервисами. Нет нужды вручную собирать длинные iptables‑команды — просто выбрать сервисы в списке и добавить их.
iptablesВ интерфейсе поставьте галочку рядом с необходимыми сервисами и нажмите кнопку добавления.

Примечание: Cockpit интегрируется с Firewalld на дистрибутивах, где тот используется, поэтому изменения отражаются в стандартных системных инструментах.
Учётные записи
Вкладка «Учётные записи» позволяет создать нового пользователя, изменить существующие данные и управлять ключами SSH для безпарольного доступа.

Практика: используйте эту вкладку для быстрого создания учёток технических сотрудников или CI‑пользователей, добавляйте SSH‑ключи сразу при создании.
Службы
Раздел «Службы» дает возможность запускать, останавливать и перезагружать демоны, а также включать или отключать их автозапуск при старте системы.

Сценарий: перезапустили принт‑сервер после изменения конфигурации прямо из интерфейса.
Обновления ПО
Cockpit уведомляет о доступных патчах. Можно установить все обновления или только критические исправления безопасности. Это удобно для быстрой поддержки множества маленьких серверов.

Совет: на серверах с ограниченным временем простой выполняйте установку критических обновлений отдельно, а полное обновление — по расписанию.
Терминал
Если требуется выполнить командый сценарий, откройте вкладку «Терминал». Терминал интерактивен и позволяет редактировать файлы, запускать скрипты и диагностировать вручную.
默认ный профиль цветов — «Black» (белый текст на чёрном фоне). В меню «Appearance» можно выбрать профили «Dark», «Light» или «White».

Безопасность и лучшие практики
- Ограничьте доступ к порту 9090 только доверенным сетям или через VPN.
- Используйте учётные записи с минимальными правами, делегируйте sudo там, где нужно.
- Включайте автоматические обновления или применяйте политически утверждённые процедуры обновления.
- Подключайте двухфакторную аутентификацию на уровне прокси/SSO, если это возможно.
Важно: Cockpit упрощает операции, но открытый порт 9090 требует адекватной защиты.
Пошаговый SOP: установка и базовая настройка
- Установите Cockpit из репозитория дистрибутива, например:
# на Debian/Ubuntu
sudo apt update
sudo apt install cockpit
sudo systemctl enable --now cockpit.socket- Откройте порт 9090 в брандмауэре и ограничьте доступ по адресу/сети.
- Войдите в интерфейс через браузер и проверьте вкладку Обзор.
- Настройте уведомления, проверьте наличие обновлений и создайте необходимых локальных пользователей.
- Добавьте узлы к Cockpit при необходимости (для центрального управления несколькими хостами).
Критерии приёмки
- Cockpit доступен по HTTPS/HTTP на порту 9090 для указанной подсети.
- Доступ возможен под администратором и ограниченными учётными записями.
- Вкладки Логи, Хранилище, Сеть и Обновления отображают корректные данные.
Роль‑ориентированные чеклисты
- Системный администратор: проверить состояние сервисов, применить обновления, проверить бэкапы.
- DevOps: добавить узлы, проверить журналы ошибок приложения, перезапустить служебные демоны.
- Служба поддержки: проверить логи пользователя, включить/выключить сервисы и сбросить пароли.
Мини‑методология: ежедневная проверка 5 минут
- Открыть Cockpit и посмотреть Обзор.
- Проверить индикатор обновлений и журналы за последние 24 часа.
- Проверить использованное дисковое пространство.
- Убедиться, что критичные сервисы запущены.
- При необходимости уведомить владельцев сервисов.
Шаблон политики обновлений (короткая версия)
- Критические обновления: установить в течение 24 часов.
- Регулярные обновления: плановая установка еженедельно в резервное окно.
- Тестирование: применить на тестовой машине перед продакшном.
Decision flow: стоит ли использовать Cockpit для проекта?
flowchart TD
A[Нужен ли GUI для управления серверами?] -->|Да| B{Много мелких серверов}
A -->|Нет| C[Оставить CLI]
B --> D[Автоматизируем через Cockpit]
D --> E{Требуется централизованное управление}
E -->|Да| F[Добавить узлы в Cockpit или рассмотреть Ansible Tower]
E -->|Нет| G[Использовать Cockpit как локальную консоль]Когда Cockpit не подходит
- Высокобезопасные среды, где запрещён веб‑доступ к узлам.
- Полностью автоматизированные парки, где все операции проходят через IaC и CI/CD, и нужен нулевой ручной ввод.
- Сценарии, где требуется продвинутая оркестрация контейнеров на уровне кластера — здесь лучше использовать специализированные инструменты.
Тестовые случаи и критерии приёмки
- Авторизация: ввести корректные и некорректные учётные данные, ожидать успешного входа и отказа соответственно.
- Логи: отфильтровать ошибки за сутки, убедиться, что отображаются.
- Хранилище: подключить USB‑накопитель, проверить монтирование и отображение использования.
- Сеть: изменить IP‑настройку и подтвердить применённые изменения.
Краткий глоссарий, одна строка на термин
- Cockpit — веб‑интерфейс для управления Linux.
- Firewalld — менеджер зон брандмауэра на современных дистрибутивах.
- systemd — системный менеджер и менеджер служб.
- SSH‑ключ — криптографический ключ для безпарольной аутентификации.
Сравнение: Cockpit и чистый CLI (обзор)
- Скорость рутинных операций: Cockpit > CLI для новичков.
- Тонкая настройка и автоматизация: CLI > Cockpit.
- Уровень риска ошибок из‑за опечаток: Cockpit уменьшает риск для базовых задач.
Планы развития и совместимость
Cockpit активно поддерживается в большинстве современных дистрибутивов. Плагины расширяют функционал, а интеграция с systemd, NetworkManager, Firewalld и udisks делает его совместимым с типичными конфигурациями серверов.
Сводка
Cockpit — отличный инструмент для упрощения повседневного администрирования Linux. Он не заменяет знания командной строки, но ускоряет проверку состояния системы, управление службами, сетями и обновлениями. Подходит для мелких и средних парков серверов, для обучения и ускорения рабочих процессов.
Важно: закрывайте доступ к порту Cockpit за пределами доверенных сетей и планируйте политику обновлений.
FAQ
Q: Какой порт использует Cockpit по умолчанию?
A: По умолчанию Cockpit использует порт 9090.
Q: Требуется ли root‑доступ для работы в Cockpit?
A: Для некоторых операций нужен root‑доступ, но Cockpit позволяет авторизоваться обычными пользователями и применять sudo‑права по необходимости.
Q: Можно ли управлять несколькими серверами из одного Cockpit?
A: Да, Cockpit поддерживает добавление удалённых узлов для централизованного управления.