Автоматизированный скрипт для настройки безопасного, оптимизированного и готового к работе сервера 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 | ✅ | Совместимо. |
- Подключитесь к серверу как
root. - Запустите команду установки.
- Следуйте подсказкам:
- Введите имя нового пользователя.
- Выберите порт SSH (например, 2222).
- Включите/отключите IPv6, Swap, BBR, Docker.
- Скопируйте приватный SSH ключ, который скрипт покажет в конце.
- Переподключитесь, используя нового пользователя и ключ.
Важно: Скрипт предложит автоматически удалить приватный ключ с сервера после того, как вы подтвердите, что скопировали его.
Скрипт предоставляется "как есть", без каких-либо гарантий. Рекомендуется просмотреть код перед запуском на продуктовых системах. Предназначен для чистых установок. Запуск на уже настроенном сервере должен быть безопасен (идемпотентен), но лучше сначала сделать бэкап.