−25%

روی پرداخت سالانه Windows، تا ۳۱ اکتبر. مشاهده پلن‌ها

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 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 سفارش، نصب دوباره و تمدید را شرح می‌دهد.

پرسش‌های متداول

آیا 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 MB حافظه مصرف می‌کند، پس برای یک سرویس کوچک Nano با 1 GB کافی است. با پایگاه داده یا کانتینر، Micro با 2 GB راحت‌تر است.

نظرات

هنوز نظری نیست. اولین نفر باشید.

یک نظر بگذارید

نظرات پیش از نمایش بررسی می‌شوند.