Настройка и защита нового сервера за 5 минут.
Обновления, SSH-ключи, файрволл, защита от брутфорса, оптимизация сети — всё в одном скрипте.
Подключитесь к серверу как root и выполните:
bash <(wget -q -O - https://raw.githubusercontent.com/EikeiDev/ubuntu-initial-setup/refs/heads/main/setup.sh)Скрипт интерактивный — просто следуйте подсказкам.
- Новый sudo-пользователь — вход под root отключается
- SSH-ключи Ed25519 — генерируются автоматически, вход по паролю отключается
- Нестандартный SSH-порт — защита от массовых ботов
- UFW файрволл — разрешён только SSH, всё остальное заблокировано
- Rate-limit на SSH — автоматическая блокировка при множественных подключениях
- Fail2Ban — бан IP после 5 неудачных попыток входа
- Ping отключён — сервер не отвечает на ICMP, не виден при сканировании
- 15 параметров SSH hardening —
MaxAuthTries 3,LoginGraceTime 30,AllowUsersи другие
- TCP BBR — алгоритм Google для ускорения сетевых соединений
- Swap 2GB — файл подкачки с оптимальными настройками
- Chrony — точная синхронизация времени
- Автообновления — security-патчи устанавливаются автоматически
- Docker — установка в один клик (опционально)
- Базовые утилиты —
htop,tmux,ncdu,iotop,curl,wget - Hostname и часовой пояс — настройка по вашему выбору
- IPv6 — опциональное отключение
1. Обновление системы
2. Создание нового пользователя
3. Генерация SSH-ключей → вам сразу покажут приватный ключ
4. Выбор SSH-порта
5. Настройка файрволла и смена порта
6. Отключение входа по паролю
7. Настройка Fail2Ban, ICMP, sysctl
8. Swap, BBR, утилиты, Docker (опционально)
9. Отключение root
10. Проверка: вы открываете вторую SSH-сессию
11. После подтверждения — ключ удаляется с сервера
Caution
Приватный ключ показывается один раз. Скопируйте его сразу! После подтверждения подключения ключ будет удалён с сервера.
| ОС / Платформа | Статус |
|---|---|
| Ubuntu 24.04 / 22.04 / 20.04 | ✅ |
| Debian 12 / 11 | ✅ |
| KVM / VMware / Dedicated | ✅ |
| LXC / OpenVZ | ✅ (sysctl пропускается если недоступен) |
- Перед запуском — убедитесь, что у вас есть доступ к консоли VPS (на случай потери SSH-доступа)
- Docker + UFW — Docker обходит файрволл. Используйте
127.0.0.1:PORT:PORTвместоPORT:PORTпри запуске контейнеров - После скрипта — если было обновлено ядро, выполните
sudo reboot - Повторный запуск — скрипт идемпотентен, можно запускать повторно
Скрипт предоставляется «как есть». Рекомендуется ознакомиться с кодом перед запуском. Предназначен для свежих установок Ubuntu / Debian.
Made with ❤️ for sysadmins who value their time