−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 ГБ.

Коментарі

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

Залишити коментар

Коментарі проходять модерацію перед публікацією.