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 MB حافظه مصرف میکند. پلن Nano (1 GB، ماهانه $3) برای یک سرویس کوچک کافی است؛ Micro (2 GB، ماهانه $5) جا برای یک پایگاه داده میگذارد. در پلنهای NAT، SSH از درگاه شخصیای که در داشبورد نشان داده میشود وارد میشود. اگر درگاههای 80/443 باید برای همه باز باشند، پلنی با IPv4 اختصاصی بگیرید، مثل Micro-IP با ماهانه $10.
Rocky Linux 9 یکی از ایمیجهای صفحهٔ خانوادهٔ RHEL است و در همهٔ پلنهای VPS در دسترس است. پرداخت با USDT، USDC یا ETH روی شبکههای Base، Ethereum یا Polygon انجام میشود، بدون مدرک هویتی و کارت. اگر ترجیح میدهید سرور را با اسکریپت مدیریت کنید، مستندات API سفارش، نصب دوباره و تمدید را شرح میدهد.
نظرات
هنوز نظری نیست. اولین نفر باشید.