اتاق مانیتورینگ سرورهای لینوکس با ترمینال SSH

راهنمای جامع تغییر پورت SSH در سرور مجازی لینوکس برای افزایش امنیت

اگر روی VPS لینوکسی خود سرویس‌های مهم، فروشگاه یا ربات‌ها را اجرا می‌کنید، امنیت SSH مستقیما روی آپتایم، سرعت واکنش و آرامش‌خاطر شما اثر می‌گذارد. تغییر پورت SSH یکی از ساده‌ترین کارهایی است که در کنار فایروال، بکاپ و مانیتورینگ، سطح حملات را کم می‌کند. چرا تغییر پورت SSH در سرور مجازی لینوکس مهم است؟ […]

فهرست مطالب

اگر روی VPS لینوکسی خود سرویس‌های مهم، فروشگاه یا ربات‌ها را اجرا می‌کنید، امنیت SSH مستقیما روی آپتایم، سرعت واکنش و آرامش‌خاطر شما اثر می‌گذارد. تغییر پورت SSH یکی از ساده‌ترین کارهایی است که در کنار فایروال، بکاپ و مانیتورینگ، سطح حملات را کم می‌کند.

چرا تغییر پورت SSH در سرور مجازی لینوکس مهم است؟

به‌صورت پیش‌فرض، SSH روی پورت ۲۲ گوش می‌دهد؛ تقریبا همه بات‌ها و اسکنرها این را می‌دانند و مرتب روی همین پورت حمله بروت‌فورس انجام می‌دهند. با تغییر پورت SSH، شما «امنیت از طریق ابهام» ایجاد نمی‌کنید، بلکه سطح حمله را کاهش می‌دهید و لاگ‌هایتان تمیزتر و قابل‌تحلیل‌تر می‌شوند.

در سرورهای مجازی مبتنی بر KVM یا VMware که روی SSD یا NVMe اجرا می‌شوند، هر حمله ناموفق SSH علاوه بر مصرف CPU و I/O، می‌تواند روی سرویس‌های حساس مثل دیتابیس و وب‌سرور هم تاثیر بگذارد. اگر روی همین VPS سایت وردپرسی پرترافیک یا ربات تلگرام دارید، کاهش این حملات به معنی تاخیر کمتر و پایداری بیشتر است.

در دیتاسنترهای استاندارد، معمولا آپتایم شبکه بین ۹۹.۵ تا ۹۹.۹ درصد است؛ اما اگر سرور شما به‌خاطر حملات مداوم SSH دچار مصرف بالای منابع شود، این عدد برای سرویس شما عملا پایین‌تر حس می‌شود. تغییر پورت SSH، در کنار محدودکردن IPها و استفاده از کلید، یک لایه دفاعی کم‌هزینه و موثر است.

پیش‌نیازهای امن برای راهنمای تغییر پورت SSH در سرور مجازی لینوکس

قبل از هر تغییری روی SSH، باید مطمئن شوید که دسترسی جایگزین و بکاپ دارید. در VPSها معمولا از طریق کنسول VNC یا HTML5 در پنل مجازی‌سازی (KVM، Proxmox و …) می‌توانید حتی در صورت اشتباه در تنظیمات SSH، سرور را نجات دهید. اگر از ارائه‌دهنده‌ای مثل وطن هاست استفاده می‌کنید، این دسترسی معمولا در ناحیه کاربری در دسترس است.

چک‌لیست کوتاه قبل از تغییر پورت SSH

  • اطمینان از داشتن دسترسی کنسول خارج از SSH (VNC یا پنل مجازی‌سازی)
  • داشتن یک کاربر با دسترسی sudo یا root معتبر
  • فعال‌بودن فایروال (iptables، firewalld، ufw یا فایروال پنل) و امکان ویرایش قوانین
  • داشتن بکاپ حداقل از فایل‌های کانفیگ مهم مثل ‎/etc/ssh/sshd_config
  • یادداشت‌کردن پورت جدید و اطلاع‌رسانی به اعضای تیم DevOps یا برنامه‌نویس‌ها

اگر روی هاست اشتراکی هستید و دسترسی روت ندارید، امکان تغییر پورت SSH در سطح سیستم‌عامل را ندارید و باید از SSH جیل‌شده یا ابزارهایی مثل SFTP در کنترل‌پنل استفاده کنید. در این حالت، ارتقا به VPS گزینه منطقی‌تری است.

انتخاب پورت مناسب برای SSH؛ چه پورتی امن‌تر است؟

از نظر فنی، هر پورتی بین ۱ تا ۶۵۵۳۵ که با سرویس دیگری تداخل نداشته باشد، قابل‌استفاده است. اما چند نکته عملی وجود دارد:

  • از پورت‌های شناخته‌شده مثل ۲۱، ۲۵، ۸۰، ۴۴۳، ۳۳۰۶ استفاده نکنید؛ این پورت‌ها برای سرویس‌های دیگر رزرو شده‌اند.
  • پورت‌های بالاتر از ۱۰۲۴ معمولا امن‌تر هستند، چون کمتر اسکن می‌شوند و نیاز به دسترسی روت برای bind ندارند.
  • از پورت‌هایی که توسط پنل‌هایی مثل cPanel، DirectAdmin یا Plesk استفاده می‌شوند، اجتناب کنید.

به‌عنوان مثال، انتخاب پورتی مثل ۲۲۲۲، ۵۸۲۲ یا ۴۹۲۱۰ (در صورت خالی‌بودن) می‌تواند گزینه مناسبی باشد. قبل از نهایی‌کردن، با دستور netstat یا ss بررسی کنید که پورتی که انتخاب کرده‌اید در حال استفاده نباشد.

مراحل کلی راهنمای تغییر پورت SSH در سرور مجازی لینوکس

فرایند تغییر پورت SSH در اکثر توزیع‌های لینوکسی مشابه است؛ تفاوت اصلی در نوع فایروال و سرویس‌منیجر (systemd یا init) است. در ادامه، یک چک‌لیست کلی و سپس مثال‌های جداگانه برای توزیع‌های محبوب می‌بینید.

چک‌لیست مراحل تغییر پورت SSH

  1. اتصال به سرور از طریق SSH روی پورت فعلی (معمولا ۲۲)
  2. گرفتن بکاپ از فایل ‎/etc/ssh/sshd_config
  3. ویرایش فایل کانفیگ و تنظیم پورت جدید
  4. بازکردن پورت جدید در فایروال و حفظ موقت پورت قدیمی
  5. ری‌استارت سرویس sshd و تست اتصال روی پورت جدید
  6. بستن پورت قدیمی بعد از اطمینان از صحت اتصال

نحوه تغییر پورت SSH در Ubuntu و Debian

در توزیع‌های مبتنی بر Debian مثل Ubuntu، معمولا از systemd و فایروال ufw یا iptables استفاده می‌شود. فرض کنید می‌خواهید پورت را از ۲۲ به ۵۸۲۲ تغییر دهید.

۱. گرفتن بکاپ از فایل کانفیگ SSH

با کاربر روت یا sudo وارد شوید و دستور زیر را اجرا کنید:

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

۲. ویرایش فایل sshd_config

فایل را با ویرایشگر دلخواه باز کنید:

nano /etc/ssh/sshd_config

خطی شبیه به موارد زیر را پیدا کنید:

#Port 22

علامت # را بردارید و عدد پورت را تغییر دهید:

Port 5822

اگر چند خط Port وجود دارد، مطمئن شوید فقط یک خط فعال (بدون #) باقی بماند.

۳. تنظیم فایروال در Ubuntu/Debian

اگر از ufw استفاده می‌کنید:

ufw allow 5822/tcp

و تا زمانی که اتصال جدید را تست نکرده‌اید، پورت ۲۲ را نبندید. در صورت استفاده از iptables، یک Rule مشابه برای پورت جدید اضافه کنید.

۴. ری‌استارت سرویس SSH و تست اتصال

سرویس را ری‌استارت کنید:

systemctl restart sshd

حالا از روی سیستم خود، یک ترمینال جدید باز کنید و با دستور زیر تست کنید:

ssh -p 5822 user@server-ip

بعد از اطمینان از اتصال موفق، می‌توانید پورت ۲۲ را در فایروال ببندید.

نحوه تغییر پورت SSH در CentOS، AlmaLinux و Rocky

در توزیع‌های RHEL-based مثل CentOS 7، AlmaLinux و Rocky، معمولا از firewalld و systemd استفاده می‌شود. مراحل ویرایش فایل sshd_config مشابه قبل است؛ تفاوت اصلی در فایروال است.

مدیریت فایروال لینوکس روی مانیتور در اتاق سرور
تنظیم همزمان پورت SSH و قوانین فایروال روی سرور مجازی لینوکسی.

۱. بازکردن پورت جدید در firewalld

فرض کنید پورت جدید ۴۹۲۱۰ است. دستورات زیر را اجرا کنید:

firewall-cmd –permanent –add-port=49210/tcp

برای اطمینان، پورت ۲۲ را فعلا باز نگه دارید:

firewall-cmd –permanent –add-service=ssh

سپس فایروال را reload کنید:

firewall-cmd –reload

۲. ویرایش sshd_config و ری‌استارت سرویس

مثل قبل، فایل ‎/etc/ssh/sshd_config را ویرایش و Port را روی ۴۹۲۱۰ تنظیم کنید، سپس:

systemctl restart sshd

حالا از یک ترمینال جدید با پورت تازه متصل شوید. اگر همه‌چیز درست بود، می‌توانید سرویس ssh پیش‌فرض (پورت ۲۲) را از firewalld حذف کنید:

firewall-cmd –permanent –remove-service=ssh

و دوباره فایروال را reload کنید.

نکات امنیتی تکمیلی بعد از تغییر پورت SSH

تغییر پورت، فقط اولین قدم است. برای سرورهای تولیدی که روی آن‌ها سایت‌های پرترافیک، APIها یا ربات‌ها اجرا می‌شوند، چند اقدام دیگر هم توصیه می‌شود:

  • غیرفعال‌کردن ورود با پسورد و استفاده از کلیدهای SSH (PasswordAuthentication no)
  • محدودکردن ورود روت و استفاده از کاربر معمولی به‌همراه sudo
  • استفاده از ابزارهایی مثل fail2ban برای بلاک‌کردن IPهای مشکوک
  • محدودکردن دسترسی SSH به چند IP ثابت از طریق فایروال در صورت امکان
  • فعال‌کردن مانیتورینگ لاگ‌ها و ارسال هشدار ایمیلی یا تلگرامی در صورت لاگین جدید

اگر روی همین VPS سایت وردپرسی دارید، ترکیب این اقدامات با یک هاستینگ بهینه‌شده برای وردپرس یا استفاده از CDN می‌تواند هم امنیت و هم سرعت لود را بهتر کند. برای پروژه‌هایی که ترافیک بالاتر دارند، انتخاب پلن VPS با RAM و vCPU بیشتر و دیسک NVMe تاثیر محسوسی روی زمان پاسخ‌گویی خواهد داشت.

نقش بکاپ و مانیتورینگ در امنیت SSH و سرور مجازی

هر تغییری در سطح سیستم‌عامل، از جمله تغییر پورت SSH، باید همراه با استراتژی بکاپ و مانیتورینگ باشد. بکاپ منظم از کانفیگ‌ها و دیتابیس‌ها باعث می‌شود در صورت اشتباه یا حمله، بتوانید سریع سرویس را برگردانید.

به‌صورت عملی، پیشنهاد می‌شود حداقل این موارد را پیاده‌سازی کنید:

  • بکاپ روزانه از دیتابیس‌ها و هفتگی از فایل‌ها روی فضای جداگانه
  • ذخیره حداقل ۳ نسخه بکاپ اخیر در دو محل متفاوت (سرور دیگر یا فضای ابری)
  • مانیتورینگ پورت SSH و سرویس‌های حیاتی با ابزارهایی مثل Zabbix، Prometheus یا سرویس‌های مانیتورینگ ساده‌تر
  • تنظیم هشدار برای افزایش غیرعادی Load Average یا مصرف RAM/CPU

در سرویس‌های خرید سرور مجازی ایران، داشتن منابع اختصاصی‌تر نسبت به هاست اشتراکی به شما اجازه می‌دهد این ابزارهای مانیتورینگ را بدون نگرانی از محدودیت شدید CPU و RAM اجرا کنید.

کنترل‌پنل، فایروال و تاثیر آن‌ها بر مدیریت SSH

اگر روی VPS خود کنترل‌پنلی مثل cPanel، DirectAdmin یا CyberPanel نصب کرده‌اید، باید حتما هماهنگی بین تنظیمات SSH و فایروال پنل را در نظر بگیرید. بسیاری از این پنل‌ها ماژول فایروال داخلی دارند (مثل CSF در cPanel) که باید پورت جدید SSH در آن‌ها هم ثبت شود.

در غیر این صورت، ممکن است فایروال سیستم‌عامل پورت را باز کند، اما فایروال پنل آن را ببندد. همیشه بعد از تغییر پورت، از طریق پنل هم وضعیت Ruleها را بررسی کنید. برای سایت‌هایی که روی هاست اشتراکی هستند، این سطح از کنترل در دسترس نیست و باید از امکاناتی که هاستینگ ارائه می‌دهد استفاده کنید یا در صورت نیاز به کنترل بیشتر، به VPS مهاجرت کنید.

اگر فعلا روی هاست اشتراکی هستید و به‌دنبال کنترل بیشتر روی SSH، فایروال و نسخه‌های نرم‌افزارها هستید، مطالعه مقاله هاست اشتراکی یا سرور مجازی، کدام بهتر است؟ بررسی ویژگی ها و کاربردها می‌تواند در انتخاب مسیر بعدی کمک کند.

مهاجرت از هاست اشتراکی به VPS برای کنترل بهتر SSH

بسیاری از تیم‌ها زمانی به فکر تغییر پورت SSH می‌افتند که از محدودیت‌های هاست اشتراکی خسته شده‌اند؛ جایی که نه دسترسی روت دارید، نه امکان نصب فایروال دلخواه و نه کنترل روی نسخه کرنل و سرویس‌ها.

در VPS لینوکسی، شما می‌توانید:

  • پورت SSH را تغییر دهید و ورود با پسورد را غیرفعال کنید
  • فایروال اختصاصی، IDS/IPS و ابزارهای امنیتی دیگر نصب کنید
  • ورژن وب‌سرور، PHP، دیتابیس و کش را مطابق نیاز پروژه تنظیم کنید
  • برای هر سرویس (وب، دیتابیس، کش) منابع جداگانه و محدودیت‌های مشخص تعریف کنید

اگر هنوز بین هاست و VPS مردد هستید، مقاله تفاوت هاست وردپرس با سرور مجازی (vps) دید خوبی از سطح کنترل و مسئولیت هرکدام به شما می‌دهد.

سوالات متداول

آیا تغییر پورت SSH به‌تنهایی برای امنیت سرور کافی است؟

خیر، این فقط یک لایه کمکی است. باید در کنار آن از کلید SSH، فایروال، fail2ban و بکاپ منظم استفاده کنید تا ریسک به‌طور جدی کاهش یابد.

اگر بعد از تغییر پورت SSH دیگر نتوانم وصل شوم چه کنم؟

از طریق کنسول VNC یا HTML5 در پنل VPS وارد شوید، فایل sshd_config را برگردانید یا پورت را اصلاح کنید، سپس سرویس sshd را ری‌استارت کنید.

آیا روی هاست اشتراکی می‌توانم پورت SSH را عوض کنم؟

معمولا خیر، چون دسترسی روت و ویرایش sshd_config در اختیار میزبان است. برای این سطح کنترل باید به سرور مجازی یا اختصاصی مهاجرت کنید.

تغییر پورت SSH روی آپتایم سرور تاثیر دارد؟

اگر درست انجام شود، خیر. فقط هنگام ری‌استارت sshd یک قطعی چندثانیه‌ای در دسترسی SSH دارید؛ سرویس‌های وب و دیتابیس تحت‌تاثیر قرار نمی‌گیرند.

آیا لازم است بعد از تغییر پورت، DNS را هم تغییر دهم؟

خیر، پورت SSH روی لایه شبکه کار می‌کند و به DNS دامنه شما ربطی ندارد. فقط باید در کلاینت‌های SSH پورت جدید را تنظیم کنید.

آیا برای هر کاربر می‌توان پورت SSH متفاوت تعریف کرد؟

به‌صورت معمول، پورت برای سرویس sshd است و بین همه کاربران مشترک خواهد بود. برای جداسازی بیشتر باید از روش‌هایی مثل jump host استفاده کنید.

آیا کنترل‌پنل‌ها بعد از تغییر پورت SSH دچار مشکل می‌شوند؟

اگر خود پنل به SSH وابسته باشد، باید پورت جدید را در تنظیمات آن هم ثبت کنید. در غیر این صورت، معمولا پنل روی پورت‌های مستقل کار می‌کند.

امکان بازگشت به پورت ۲۲ بعد از مدتی وجود دارد؟

بله، هر زمان می‌توانید sshd_config را ویرایش و پورت را به ۲۲ برگردانید؛ فقط فراموش نکنید تنظیمات فایروال را هم هماهنگ کنید.

جمع‌بندی و گام بعدی

تغییر پورت SSH در سرور مجازی لینوکس کار پیچیده‌ای نیست، اما اگر بدون بکاپ، فایروال و دسترسی کنسول انجام شود، می‌تواند شما را از سرور قفل کند. با رعایت چک‌لیست این راهنما، می‌توانید سطح حملات را کاهش دهید و در کنار آن، با تقویت فایروال، استفاده از کلید SSH و مانیتورینگ، امنیت کلی زیرساخت خود را بالا ببرید. اگر به‌دنبال زیرساختی هستید که هم کنترل کامل SSH را داشته باشید و هم منابع اختصاصی، می‌توانید برای پروژه‌های جدی‌تر خود به سراغ خرید هاست لینوکس یا پلن‌های VPS حرفه‌ای بروید و قدم بعدی را مطمئن‌تر بردارید.

نظرت راجب این مطلب ؟

امتیاز خودت رو ثبت کن

میانگین نظرات : 0 / 5. تعداد نظرات : 0

بدون نظر

به مشاوره احتیاج دارید ؟

ما بصورت 24 ساعت در 7 روز هفته در کنارتان هستیم