Skip to content

Скрипт атоматизирует базовую безопасную настройку свежеустановленной Ubuntu Server.

Notifications You must be signed in to change notification settings

EikeiDev/ubuntu-initial-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 

Repository files navigation

🚀 Скрипт начальной настройки Ubuntu

Bash Ubuntu License

Автоматизированный скрипт для настройки безопасного, оптимизированного и готового к работе сервера Ubuntu за несколько минут. Идеально подходит для VPS (KVM, OpenVZ, LXC) и выделенных (Dedicated) серверов.


📦 Быстрая установка

Запустите эту команду на свежем сервере Ubuntu (20.04 / 22.04 / 24.04):

bash <(wget -q -O - https://raw.githubusercontent.com/EikeiDev/ubuntu-initial-setup/refs/heads/main/setup.sh)

🔥 Возможности

🛡️ Безопасность

  • Обновление системы: Полный апгрейд и очистка (apt dist-upgrade, autoremove).
  • Авто-обновления: Настройка unattended-upgrades для патчей безопасности.
  • Пользователи: Создание нового sudo-пользователя (вход для root отключается).
  • Защита SSH:
    • Отключение входа по паролю.
    • Генерация надежных ключей Ed25519.
    • Смена стандартного порта SSH (интерактивно).
    • Удаление конфликтующих конфигов cloud-init.
  • Фаервол (UFW): Авто-настройка (разрешен только новый SSH порт).
  • Fail2Ban: Установка и настройка jail для защиты SSH от брутфорса.
  • IPv6: Опциональное отключение стека IPv6.

🚀 Производительность и Система

  • TCP BBR: Включение алгоритма BBR от Google для ускорения сети.
  • Swap (Файл подкачки):
    • Авто-создание Swap файла на 2GB.
    • Умный выбор метода: использует быстрый fallocate или надежный dd (в зависимости от ФС).
    • Оптимизация параметров vm.swappiness и vfs_cache_pressure.
  • Синхронизация времени: Установка и настройка Chrony (NTP).

🐳 Дополнительный софт

  • Docker: Установка Docker Engine в один клик (официальный скрипт).

✨ Удобство

  • Интерактивность: Спрашивает только самое необходимое (имя, порт, опции).
  • Визуализация: Спиннеры для долгих операций, цветные логи.
  • Надежность:
    • Корректно ждет снятия блокировок apt.
    • Безопасен для Контейнеров (LXC/OpenVZ) — не падает при ошибках sysctl.
    • Идемпотентность — можно запускать повторно без ошибок.

📋 Совместимость

Платформа Статус Примечание
KVM / VMWare Полная поддержка.
Dedicated Server Полная поддержка.
LXC / OpenVZ Безопасный режим (пропуск настроек ядра, если запрещено).
Ubuntu 24.04 Протестировано.
Ubuntu 22.04 Протестировано.
Ubuntu 20.04 Совместимо.

🛠 Использование

  1. Подключитесь к серверу как root.
  2. Запустите команду установки.
  3. Следуйте подсказкам:
    • Введите имя нового пользователя.
    • Выберите порт SSH (например, 2222).
    • Включите/отключите IPv6, Swap, BBR, Docker.
  4. Скопируйте приватный SSH ключ, который скрипт покажет в конце.
  5. Переподключитесь, используя нового пользователя и ключ.

Важно: Скрипт предложит автоматически удалить приватный ключ с сервера после того, как вы подтвердите, что скопировали его.


⚠️ Отказ от ответственности

Скрипт предоставляется "как есть", без каких-либо гарантий. Рекомендуется просмотреть код перед запуском на продуктовых системах. Предназначен для чистых установок. Запуск на уже настроенном сервере должен быть безопасен (идемпотентен), но лучше сначала сделать бэкап.

About

Скрипт атоматизирует базовую безопасную настройку свежеустановленной Ubuntu Server.

Topics

Resources

Stars

Watchers

Forks

Languages