Cockpit — веб-интерфейс для управления linux-машинами (как серверными, так и десктопными). На борту присутствует визуализация основных метрик, настройка сети, управление дисками, логи, консоль и прочее. Отличный вариант быстро взглянуть на систему не собирая информацию вручную по ssh.
Инструкция актуальна для десктопных и серверных версий Ubuntu 20 — 22 . Официальная документация для этих и других дистрибутивов доступна на официальном сайте проекта Cockpit.
Начинаем, как обычно, с обновления:
sudo apt update
Устанавливаем Cockpit:
. /etc/os-release
sudo apt install -t ${VERSION_CODENAME}-backports cockpit
Проверяем, что сервис запущен и работает:
sudo systemctl status cockpit
С этого момента веб-интерфейс Cockpit доступен по ip и имени хоста на порту 9090:
Авторизоваться можно под любым пользователем, которому доступно подключение по ssh. Если Вы не хотите разрешать удаленный вход для root, то после авторизации под пользователем, входящим в группу sudo, будет предложено повысить привелегии и ввести соответствующий пароль (синяя кнопка «Turn on administrative access«):
Если же вы хотите управлять несколькими машинами без необходимости каждый раз вводить пароли — сначала придётся разрешить root вход по ssh. Открываем на редактирование конфиг sshd:
sudo nano /etc/ssh/sshd_config
Раскомментируем параметр PermitRootLogin и меняем значение:
...
PermitRootLogin yes
...
Меняем пароль пользователю root:
sudo bash
passwd
Перезапускаем демон sshd:
sudo systemctl restart sshd.service
Теперь root может заходить по ssh, а на основную машину Cockpit (независимо от того — это Ваш личный ноут или специально развёрнутая ВМ) можно добавить управление соседями (на которые тоже предварительно установлен Cockpit и разрешён вход для root).
Вход по паролю при добавлении соседних узлов к основному Cockpit нужен только в первый раз, далее соединение идёт по ключу и можно запретить в /etc/ssh/sshd_config вход по паролю, оставив только ключ:
...
PermitRootLogin without-password
...