4.0 KiB
4.0 KiB
Cockpit Installer
Скрипт cockpit-installer.sh автоматически подготавливает сервер Debian/Ubuntu и устанавливает Cockpit с базовыми настройками безопасности.
Что делает скрипт
- Проверяет, что запуск выполнен от
rootи доступенapt. - Обновляет систему (
apt update && apt upgrade -y). - Настраивает системный часовой пояс.
- Устанавливает и включает
ufw. - Открывает
22/tcp(SSH) и9090/tcp(Cockpit). - Устанавливает и настраивает
fail2ban(SSH + Cockpit). - Создает (или обновляет) пользователя с правами
sudo. - Устанавливает Cockpit с дефолтным портом
9090. - Создает самоподписанный TLS-сертификат.
- Добавляет ежедневное обновление сертификата через cron.
- Пишет лог установки в
/var/log/setup.log.
Требования
- Debian/Ubuntu (или совместимая система с
apt). - Запуск от
root. - Доступ в интернет для установки пакетов.
Использование
chmod +x cockpit-installer.sh
sudo ./cockpit-installer.sh [options]
Наиболее успешный запуск из URL
Рекомендуемый вариант для быстрого и стабильного запуска напрямую из репозитория:
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/cockpit/cockpit-installer.sh | sudo bash
С параметрами (важно использовать -s -- после bash):
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/cockpit/cockpit-installer.sh | sudo bash -s -- --user admin --password MySecret123! --timezone Europe/Moscow
Опции
--user <username>: имя пользователя (по умолчаниюuser).--password <password>: пароль пользователя (по умолчанию генерируется автоматически).--timezone <tz>: часовой пояс (по умолчаниюUTC, пример:Europe/Moscow).--help: показать справку.
Примеры
sudo ./cockpit-installer.sh
sudo ./cockpit-installer.sh --user admin
sudo ./cockpit-installer.sh --user admin --password MySecret123!
sudo ./cockpit-installer.sh --timezone Europe/Moscow
Результат после установки
- Cockpit доступен по адресу (дефолтный порт):
https://<SERVER_IP>:9090
- Создан/обновлен пользователь с
sudo. - Пароль сохранен во временный файл:
/root/<user>_password.txt
- Сертификаты:
/etc/ssl/selfcert/cert.pem/etc/ssl/selfcert/key.pem
- Логи:
/var/log/setup.log/var/log/selfcert-renew.log
Важно по безопасности
- Скрипт использует самоподписанный сертификат, браузер покажет предупреждение.
- Cockpit использует дефолтный порт
9090и не переконфигурируется. - После входа сохраните пароль в надежном месте и удалите файл:
rm -f /root/<user>_password.txt
- Рекомендуется ограничить доступ к порту Cockpit по IP (через firewall/cloud security group).
Обновление сертификата
Скрипт создает:
/usr/local/bin/selfcert-renew.sh/etc/cron.d/selfcert-renew
Cron запускает обновление ежедневно в 03:00.