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.
Коментарі
Поки немає коментарів. Будьте першим.