Установка и настройка Cockpit с доступом для root

Введение

Для удобного управления сервером, особенно тем, кто только начинает путь в системном администрировании, или для быстрого выполнения задач, веб-интерфейс может быть невероятно полезным инструментом. Cockpit — это современный, легковесный веб-интерфейс, разработанный для управления Linux-серверами. Он предоставляет интуитивно понятную панель для мониторинга, управления службами, сетью, дисками, пользователями и многим другим, при этом не заменяет, а дополняет привычную работу в командной строке.

Эта статья пошагово проведет вас через процесс установки, настройки и запуска Cockpit на сервере под управлением Ubuntu 24.04.3 LTS, с особым акцентом на настройку доступа для пользователя root, что может быть особенно актуально при использовании систем с единственным root-пользователем.

1. Установка Cockpit на Ubuntu 24.04.3 LTS

Cockpit доступен в репозиториях Ubuntu, и для получения последней версии рекомендуется использовать репозиторий backports.

  1. Откройте терминал. Это может быть SSH-сессия к вашему серверу.

  2. Обновите список пакетов:

    sudo apt update
  3. Установите Cockpit:
    Чтобы гарантировать установку актуальной версии, используем репозиторий backports:

    . /etc/os-release
    sudo apt install -t ${VERSION_CODENAME}-backports cockpit

    Эта команда автоматически подставит актуальное имя кодового обозначения вашей версии Ubuntu (в данном случае noble) и установит Cockpit из соответствующего backports репозитория.

  4. Активируйте и запустите сервис Cockpit:

    sudo systemctl enable --now cockpit.socket

    Команда enable гарантирует, что Cockpit будет запускаться автоматически при старте системы. --now активирует сокет сразу. Cockpit работает по принципу активации по требованию: сервис запускается только тогда, когда к нему обращаются по порту 9090.

2. Настройка брандмауэра

Если на вашем сервере активен брандмауэр ufw (который по умолчанию установлен в Ubuntu), необходимо открыть порт, который использует Cockpit.

  1. Разрешите доступ к порту 9090:

    sudo ufw allow 9090

    Эта команда добавит правило в ufw, разрешающее входящие соединения на TCP-порт 9090.

  2. (Опционально) Уточните IP-адреса:
    Для большей безопасности вы можете ограничить доступ только с определенных IP-адресов. Например:

    sudo ufw allow from ваш_IP_адрес to any port 9090

    Замените ваш_IP_адрес на реальный IP-адрес вашего компьютера, с которого вы будете подключаться.

3. Настройка доступа для пользователя root

По умолчанию Cockpit запрещает вход под пользователем root в целях безопасности. Если ваша система настроена так, что вы работаете исключительно под root (как в случае пользователя, для которого пишется эта статья), необходимо вручную разрешить такой вход.

  1. Откройте файл конфигурации запрещенных пользователей:

    sudo nano /etc/cockpit/disallowed-users

    Примечание: Вы можете использовать vim, micro или любой другой удобный редактор вместо nano.

  2. Найдите строку root и закомментируйте её.
    По умолчанию файл выглядит примерно так:

    Пример содержимого файла /etc/cockpit/disallowed-users
    # These are disallowed by default.
    root
    daemon
    bin
    sys
    # ... и другие пользователи ...

    Измените строку root на # root, чтобы она выглядела так:

    # These are disallowed by default.
    # root
    daemon
    bin
    sys
    # ... и другие пользователи ...

    Это действие снимает запрет на вход под root.

  3. Сохраните файл.
    В nano это делается с помощью Ctrl + O, затем Enter.

  4. Перезагрузите службу Cockpit, чтобы применить изменения:

    sudo systemctl reload cockpit

    Или, если reload не поддерживается, перезапустите:

    sudo systemctl restart cockpit

4. Дополнительная проверка: Установлен ли пароль для root

В некоторых установках Ubuntu (особенно серверных) пароль для root не устанавливается по умолчанию, и используется только sudo. Cockpit требует, чтобы у пользователя, под которым вы пытаетесь войти, был установлен пароль.

  1. Установите пароль для root:

    sudo passwd root

    Система попросит вас дважды ввести новый пароль. Убедитесь, что вы используете надежный пароль.

5. Подключение к Cockpit

  1. Откройте веб-браузер на вашем локальном компьютере.

  2. Перейдите по адресу:
    https://IP-АДРЕС-ВАШЕГО-СЕРВЕРА:9090
    Пример: https://192.168.1.100:9090
    Пример содержимого файла /etc/cockpit/disallowed-users Важно: Используйте https://, так как Cockpit по умолчанию работает с шифрованием.

  3. Подтвердите исключение безопасности (если появится).
    Cockpit использует самоподписанный SSL-сертификат. Браузер может предупредить о небезопасном соединении. Это нормально для локальных или внутренних серверов. Подтвердите, что вы хотите продолжить.

  4. Войдите в систему:
    Используйте следующие учетные данные:

    • Пользователь: root
    • Пароль: Пароль, установленный в шаге 4.

Если все сделано правильно, вы попадете в главную панель Cockpit.

Пример содержимого файла /etc/cockpit/disallowed-users Пример содержимого файла /etc/cockpit/disallowed-users

6. Основные возможности Cockpit

После входа вы увидите главный экран, отображающий информацию о системе (загрузка ЦП, память, диски, сеть). В левом меню находятся разделы для управления:

  • Система: Просмотр информации о системе, журналы, время, сеансы.
  • Службы: Управление сервисами systemd.
  • Терминал: Встроенный доступ к командной строке прямо в браузере.
  • Хранилище: Управление дисками, разделами, LVM, RAID.
  • Сеть: Просмотр и настройка сетевых интерфейсов и брандмауэра.
  • Пользователи: Управление учетными записями пользователей.
  • Контейнеры: Управление Podman.
  • Машины: Управление виртуальными машинами (если установлен libvirt).

Заключение

Cockpit — мощный инструмент, который делает управление сервером более доступным и визуально понятным. В этой статье мы рассмотрели, как установить Cockpit на Ubuntu 24.04.3 LTS, открыть доступ к нему через брандмауэр и, самое главное, настроить возможность входа под пользователем root, что может быть необходимо в определенных сценариях использования. Теперь вы можете использовать веб-интерфейс для повседневного администрирования вашего сервера, сочетая его с привычной работой в терминале.