Настройка Hetzner VPS
От пустого сервера до защищенной production-ready машины. Выберите, как вы хотите настроить свой сервер.
Подготовка переменных
В командах ниже вам нужно будет подставлять свои значения вместо фигурных скобок:
{username}— имя вашего обычного пользователя (напр.dev){nickname}— короткое название сервера для удобства (напр.hetzner-main){SERVER_IP}— публичный IP-адрес вашего нового сервера
1 Создание SSH-ключа (Локально)
Выполняется на вашем компьютере (Mac или Linux) ДО того, как вы подключитесь к серверу.
Скопируйте вывод второй команды (он начинается на ssh-ed25519 ...). Это ваш публичный ключ.
2 Вход как Root
Подключитесь к серверу с помощью пароля, который Hetzner прислал на почту.
3 Обновление системы
Обновление всех пакетов в неинтерактивном режиме (без всплывающих окон grub).
4 Создание пользователя с sudo
Работать из-под root опасно. Создаем обычного пользователя и даем ему права администратора.
5 Развертывание SSH-ключа
Запишем ваш публичный ключ, который вы скопировали в Шаге 1, на сервер.
6 Проверка входа
Не закрывайте сессию root! Откройте новое окно терминала на своем ПК и попробуйте зайти по ключу. Только после успешного входа можно продолжать.
Проверьте, работает ли sudo (система должна попросить пароль, который вы задали в Шаге 4, и вывести "root"):
7 Firewall (UFW)
Все последующие команды выполняйте от имени вашего нового пользователя (с sudo). Настраиваем политику "запретить все входящие, кроме SSH, HTTP и HTTPS".
8 Защита ядра (sysctl)
Применяем параметры для защиты от сетевых атак.
9 Базовые пакеты и время
Точное время критично для логов, SSL-сертификатов и fail2ban.
10 Локальный SSH-конфиг
Настройка ярлыка на вашем локальном ПК, чтобы в дальнейшем подключаться короткой командой ssh {nickname}.
11 Проверка безопасности
Проверьте, работает ли короткая команда с локального ПК и включены ли базовые защиты.
12 Финальная блокировка
Устанавливаем защиту от брутфорса (fail2ban) и навсегда запрещаем вход по паролю и вход для root.