
به اشتراک بگذارید

به اشتراک بگذارید
آموزش سرور | بلاگ وبداده
کانفیگ سرور مجازی لینوکس؛ ۱۰ مرحله ضروری پس از خرید VPS

# اتصال اولیه به سرور (در ویندوز از PowerShell یا PuTTY، در مک/لینوکس از ترمینال)
ssh root@SERVER_IP
# بهروزرسانی فهرست بستهها و نصب آخرین وصلهها
sudo apt update && sudo apt upgrade -yBash# ساخت یک کاربر معمولی (بهجای deploy نام دلخواه بگذارید)
adduser deploy
# دادن دسترسی sudo به کاربر تازه
usermod -aG sudo deploy
# تست: ورود با کاربر جدید و اجرای یک دستور مدیریتی
su - deploy
sudo whoami # باید root را برگرداندBash# روی کامپیوتر خودتان (نه سرور) یک کلید مدرن Ed25519 بسازید
ssh-keygen -t ed25519 -C "my-vps-key"
# کلید عمومی را روی سرور برای کاربر deploy کپی کنید
ssh-copy-id deploy@SERVER_IP
# اگر ssh-copy-id ندارید، مجوزها را دستی درست کنید:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keysBash# فایل پیکربندی سرویس SSH را باز کنید
sudo nano /etc/ssh/sshd_config
# این مقادیر را تنظیم/اصلاح کنید:
# PermitRootLogin no
# PasswordAuthentication no
# PubkeyAuthentication yes
# Port 2222 (اختیاری: تغییر پورت پیشفرض)
# اعمال تغییرات (نشست فعلی را نبندید تا تست کنید)
sudo systemctl restart sshBash# ابتدا پورت SSH را باز کنید وگرنه از سرور قفل میشوید!
sudo ufw allow ssh # اگر پورت را عوض کردید: sudo ufw allow 2222
# سیاست پیشفرض: ورودی بسته، خروجی باز
sudo ufw default deny incoming
sudo ufw default allow outgoing
# در صورت داشتن وبسرور، پورتهای 80 و 443 را هم باز کنید
sudo ufw allow 80
sudo ufw allow 443
# فعالسازی و بررسی وضعیت
sudo ufw enable
sudo ufw status verboseBash# نصب Fail2ban برای بن خودکار حملات بروتفورس
sudo apt install fail2ban -y
# تنظیم منطقه زمانی و همگامسازی ساعت
sudo timedatectl set-timezone Asia/Tehran
# فعالسازی بهروزرسانی خودکار امنیتی (پیشفرض روی اوبونتو نصب است)
sudo dpkg-reconfigure unattended-upgrades
# پایش منابع: استفاده دیسک، رم و پردازشها
df -h
free -h
htopBash
| کار | اوبونتو / دبیان | CentOS / AlmaLinux |
|---|---|---|
| بهروزرسانی سیستم | sudo apt update && sudo apt upgrade | sudo dnf upgrade –refresh |
| گروه دسترسی مدیریتی | گروه sudo | گروه wheel |
| ابزار فایروال | ufw (Uncomplicated Firewall) | firewalld (firewall-cmd) |
| باز کردن پورت SSH | sudo ufw allow ssh | firewall-cmd –permanent –add-service=ssh |
| بهروزرسانی خودکار | unattended-upgrades | dnf-automatic |
| نصب بسته | sudo apt install | sudo dnf install |
sudo ufw allow ssh پورت را باز کنید.700 برای پوشه .ssh و 600 برای authorized_keys) و مطمئن شوید کلید عمومی درست منتقل شده.PasswordAuthentication yes کنید، کلید را درست کنید و دوباره ببندید.-p پورت را مشخص کنید.htop و free -h مصرف رم و پردازنده را ببینید؛ شاید به ارتقای منابع نیاز باشد.اتصال به سرور با SSH و بهروزرسانی کامل سیستم با دستور sudo apt update && sudo apt upgrade. این کار وصلههای امنیتی موجود را نصب میکند و باید پیش از هر تنظیم دیگری انجام شود.
چون هر دستور با کاربر root با بالاترین سطح دسترسی اجرا میشود و یک اشتباه میتواند کل سیستم را از کار بیندازد. بهتر است یک کاربر معمولی با دسترسی sudo بسازید و ورود مستقیم root از طریق SSH را غیرفعال کنید تا یک لایه امنیتی اضافه شود.
کلید SSH بهمراتب امنتر است. رمز عبور در برابر حملات حدسزدنِ خودکار آسیبپذیر است، اما جفتکلید از نظر رمزنگاری عملاً مصون است. الگوریتم پیشنهادی مدرن Ed25519 است که هم کوچکتر و هم امنتر از RSA قدیمی است.
تغییر پورت 22 به پورت دیگر تعداد تلاشهای خودکار باتها را کم میکند، اما این «امنیت از طریق گمنامی» است و امنیت واقعی اضافه نمیکند. جای کلید SSH، غیرفعالکردن ورود با رمز و فایروال را نمیگیرد و فقط مکمل آنهاست.
همیشه قبل از اجرای دستور فعالسازی، پورت SSH را باز کنید (sudo ufw allow ssh). طبق مستندات رسمی اوبونتو، ufw بهصورت پیشفرض غیرفعال است و اگر آن را بدون اجازهدادن به SSH فعال کنید، اتصال فعلی شما قطع و دسترسیتان مسدود میشود.
Fail2ban لاگهای ورود را پایش میکند و آدرسهای IP که چند بار پشتسرهم رمز اشتباه وارد میکنند را برای مدتی بهطور خودکار بن میکند. این کار حملات بروتفورس را بهشدت کاهش میدهد و مکمل کلید SSH و فایروال است.
روی اوبونتو بسته unattended-upgrades بهصورت پیشفرض نصب است و آپدیتهای امنیتی را روزانه اعمال میکند. برای پیکربندی آن کافی است دستور sudo dpkg-reconfigure unattended-upgrades را اجرا کنید. تنظیمات در مسیر /etc/apt/apt.conf.d/ نگهداری میشود.
مفهوم مراحل یکسان است اما ابزارها فرق دارند؛ در CentOS و AlmaLinux بهجای apt از dnf، بهجای ufw از firewalld و بهجای گروه sudo از گروه wheel استفاده میشود. معادل دستورها را در جدول مقاله آوردهایم.
پایش منظم منابع (با htop و df -h)، گرفتن بکاپ دورهای، بررسی لاگها و اطمینان از فعالبودن آپدیت خودکار. این کارها سرور را در بلندمدت امن و پایدار نگه میدارند.