−25%

на годовую оплату Windows, до 31.10. К тарифам

EQVPS
Начать

Как настроить VPS на Rocky Linux: первые шаги после получения root

Первые десять минут на свежем VPS с Rocky Linux 9: обновление через dnf, пользователь с sudo и SSH-ключом, запрет входа root и по паролю, firewalld и автоматические обновления безопасности. Каждая команда проверена на нашем образе.

Rocky Linux 9 — бесплатный выбор, совместимый с RHEL: те же пакеты, тот же dnf, те же firewalld и SELinux. Если вы уже настраивали Debian или Ubuntu, порядок шагов тот же, отличаются инструменты. Здесь — первые десять минут на свежем сервере с Rocky 9.

Каждую команду ниже мы выполнили на нашем образе Rocky Linux 9 перед публикацией. На чистом сервере вся последовательность занимает пару минут.

1. Обновите систему

Войдите как root с паролем из кабинета и обновитесь:

dnf -y upgrade

На нашем образе обновление в тесте заняло секунды: образ уже был свежим.

2. Создайте пользователя с sudo и добавьте SSH-ключ

В Rocky группа администраторов называется wheel, а не sudo:

useradd -m -G wheel deploy
passwd deploy                      # sudo will ask for this password

Положите на сервер свой публичный ключ (как его создать). Если вы скопировали его в /root/key.pub:

install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
install -m 600 -o deploy -g deploy /root/key.pub /home/deploy/.ssh/authorized_keys
restorecon -R /home/deploy/.ssh

restorecon выставляет метки SELinux, которых ждёт sshd. С неправильной меткой вход по ключу не работает, и понятной ошибки вы не увидите.

Откройте второй терминал и проверьте, что ssh deploy@YOUR.SERVER.IP работает, а sudo -v принимает пароль. Не закрывайте сессию root, пока это не так.

3. Запретите вход root и вход по паролю

Здесь Rocky отличается от учебной правки sshd_config. Настройки лежат в отдельных файлах в /etc/ssh/sshd_config.d/, и sshd берёт первое найденное значение. На нашем образе первый файл — 00-eqvps.conf: он разрешает вход root и по паролю, чтобы вы могли войти в первый день. Меняйте настройку там:

sed -i -e 's/^PermitRootLogin .*/PermitRootLogin no/' \
       -e 's/^PasswordAuthentication .*/PasswordAuthentication no/' \
       /etc/ssh/sshd_config.d/00-eqvps.conf
sshd -t && systemctl reload sshd
sshd -T | grep -E '^(permitrootlogin|passwordauthentication) '

Последняя команда показывает, что sshd будет применять на самом деле. Нужно увидеть:

permitrootlogin no
passwordauthentication no

После этого ssh root@… отклоняется даже с ключом, а deploy входит только по ключу.

4. Файрвол: firewalld

В облачном образе firewalld нет. Установите его, запустите и оставьте только нужное:

dnf -y install firewalld
systemctl enable --now firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --remove-service=cockpit
firewall-cmd --reload
firewall-cmd --list-services

Зона по умолчанию открывает cockpit (порт 9090) и dhcpv6-client. Cockpit не установлен, но держать его порт открытым незачем. Когда добавите приложение, откройте его порт так же, например firewall-cmd --permanent --add-service=https.

5. Автоматические обновления безопасности

dnf-automatic скачивает обновления по таймеру. По умолчанию он их не устанавливает, поэтому включите установку:

dnf -y install dnf-automatic
sed -i 's/^apply_updates = .*/apply_updates = yes/' /etc/dnf/automatic.conf
systemctl enable --now dnf-automatic.timer
systemctl list-timers dnf-automatic.timer

Если нужны только исправления безопасности, в том же файле задайте ещё upgrade_type = security.

6. Не выключайте SELinux

На свежем сервере getenforce выводит Enforcing, и всё описанное выше с ним работает. Когда приложению нужен нестандартный порт или каталог, решение — метка (semanage port, restorecon), а не setenforce 0.

Какой тариф

Rocky 9 в простое занимает около 400 МБ памяти. Тарифа Nano (1 ГБ, $3/мес) хватит для одного небольшого сервиса; Micro (2 ГБ, $5/мес) оставляет место для базы данных. На тарифах с NAT SSH доступен через персональный порт из кабинета. Если нужны открытые для всех порты 80/443, берите тариф с собственным IPv4, например Micro-IP за $10/мес.

Rocky Linux 9 есть на странице ОС семейства RHEL и на всех тарифах в разделе VPS. Оплата в USDT, USDC или ETH в сетях Base, Ethereum или Polygon, без документов и карты. Если удобнее управлять сервером из скриптов, заказ, переустановка и продление описаны в документации API.

Частые вопросы

Rocky Linux — это то же самое, что RHEL?

Он собран из тех же исходников и стремится к полной совместимости с Red Hat Enterprise Linux 9, поэтому инструкции, пакеты и привычки из мира RHEL (dnf, firewalld, SELinux) подходят и здесь. Подписка Red Hat для этого не нужна.

Почему правка SSH на Rocky не действует?

Rocky читает файлы из /etc/ssh/sshd_config.d/ по порядку имён, и для каждой настройки побеждает первое найденное значение. На нашем образе первый файл — 00-eqvps.conf, поэтому меняйте настройку там и проверяйте результат через sshd -T, прежде чем закрыть сессию.

Выключить SELinux?

Нет. На свежей установке он в режиме Enforcing, и все шаги здесь работают с ним. Если вы создаёте файлы для SSH или веб-сервера в нестандартных местах, restorecon -R по этому пути исправит метки. Выключать SELinux ради проблемы с метками — значит убрать реальный слой защиты.

Можно сменить порт SSH?

На тарифе с собственным IPv4 — да, если открыть новый порт в firewalld и разрешить его в SELinux. На тарифе с NAT оставьте sshd на 22: ваш персональный внешний порт уже проброшен на 22 внутри сервера, и перенос sshd этот проброс ломает.

Какого тарифа хватит для Rocky Linux?

Rocky 9 в простое занимает около 400 МБ памяти, поэтому Nano с 1 ГБ подойдёт для небольшого сервиса. С базой данных или контейнерами удобнее Micro с 2 ГБ.

Комментарии

Пока нет комментариев. Будьте первым.

Оставить комментарий

Комментарии проходят модерацию перед публикацией.