اگر روی VPS لینوکسی خود سرویسهای مهم، فروشگاه یا رباتها را اجرا میکنید، امنیت SSH مستقیما روی آپتایم، سرعت واکنش و آرامشخاطر شما اثر میگذارد. تغییر پورت SSH یکی از سادهترین کارهایی است که در کنار فایروال، بکاپ و مانیتورینگ، سطح حملات را کم میکند. چرا تغییر پورت SSH در سرور مجازی لینوکس مهم ا...
اگر روی VPS لینوکسی خود سرویسهای مهم، فروشگاه یا رباتها را اجرا میکنید، امنیت SSH مستقیما روی آپتایم، سرعت واکنش و آرامشخاطر شما اثر میگذارد. تغییر پورت SSH یکی از سادهترین کارهایی است که در کنار فایروال، بکاپ و مانیتورینگ، سطح حملات را کم میکند.
بهصورت پیشفرض، SSH روی پورت ۲۲ گوش میدهد؛ تقریبا همه باتها و اسکنرها این را میدانند و مرتب روی همین پورت حمله بروتفورس انجام میدهند. با تغییر پورت SSH، شما «امنیت از طریق ابهام» ایجاد نمیکنید، بلکه سطح حمله را کاهش میدهید و لاگهایتان تمیزتر و قابلتحلیلتر میشوند.
در سرورهای مجازی مبتنی بر KVM یا VMware که روی SSD یا NVMe اجرا میشوند، هر حمله ناموفق SSH علاوه بر مصرف CPU و I/O، میتواند روی سرویسهای حساس مثل دیتابیس و وبسرور هم تاثیر بگذارد. اگر روی همین VPS سایت وردپرسی پرترافیک یا ربات تلگرام دارید، کاهش این حملات به معنی تاخیر کمتر و پایداری بیشتر است.
در دیتاسنترهای استاندارد، معمولا آپتایم شبکه بین ۹۹.۵ تا ۹۹.۹ درصد است؛ اما اگر سرور شما بهخاطر حملات مداوم SSH دچار مصرف بالای منابع شود، این عدد برای سرویس شما عملا پایینتر حس میشود. تغییر پورت SSH، در کنار محدودکردن IPها و استفاده از کلید، یک لایه دفاعی کمهزینه و موثر است.
قبل از هر تغییری روی SSH، باید مطمئن شوید که دسترسی جایگزین و بکاپ دارید. در VPSها معمولا از طریق کنسول VNC یا HTML5 در پنل مجازیسازی (KVM، Proxmox و …) میتوانید حتی در صورت اشتباه در تنظیمات SSH، سرور را نجات دهید. اگر از ارائهدهندهای مثل وطن هاست استفاده میکنید، این دسترسی معمولا در ناحیه کاربری در دسترس است.
اگر روی هاست اشتراکی هستید و دسترسی روت ندارید، امکان تغییر پورت SSH در سطح سیستمعامل را ندارید و باید از SSH جیلشده یا ابزارهایی مثل SFTP در کنترلپنل استفاده کنید. در این حالت، ارتقا به VPS گزینه منطقیتری است.
از نظر فنی، هر پورتی بین ۱ تا ۶۵۵۳۵ که با سرویس دیگری تداخل نداشته باشد، قابلاستفاده است. اما چند نکته عملی وجود دارد:
بهعنوان مثال، انتخاب پورتی مثل ۲۲۲۲، ۵۸۲۲ یا ۴۹۲۱۰ (در صورت خالیبودن) میتواند گزینه مناسبی باشد. قبل از نهاییکردن، با دستور netstat یا ss بررسی کنید که پورتی که انتخاب کردهاید در حال استفاده نباشد.
فرایند تغییر پورت SSH در اکثر توزیعهای لینوکسی مشابه است؛ تفاوت اصلی در نوع فایروال و سرویسمنیجر (systemd یا init) است. در ادامه، یک چکلیست کلی و سپس مثالهای جداگانه برای توزیعهای محبوب میبینید.
در توزیعهای مبتنی بر Debian مثل Ubuntu، معمولا از systemd و فایروال ufw یا iptables استفاده میشود. فرض کنید میخواهید پورت را از ۲۲ به ۵۸۲۲ تغییر دهید.
با کاربر روت یا sudo وارد شوید و دستور زیر را اجرا کنید:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
فایل را با ویرایشگر دلخواه باز کنید:
nano /etc/ssh/sshd_config
خطی شبیه به موارد زیر را پیدا کنید:
#Port 22
علامت # را بردارید و عدد پورت را تغییر دهید:
Port 5822
اگر چند خط Port وجود دارد، مطمئن شوید فقط یک خط فعال (بدون #) باقی بماند.
اگر از ufw استفاده میکنید:
ufw allow 5822/tcp
و تا زمانی که اتصال جدید را تست نکردهاید، پورت ۲۲ را نبندید. در صورت استفاده از iptables، یک Rule مشابه برای پورت جدید اضافه کنید.
سرویس را ریاستارت کنید:
systemctl restart sshd
حالا از روی سیستم خود، یک ترمینال جدید باز کنید و با دستور زیر تست کنید:
ssh -p 5822 user@server-ip
بعد از اطمینان از اتصال موفق، میتوانید پورت ۲۲ را در فایروال ببندید.
در توزیعهای RHEL-based مثل CentOS 7، AlmaLinux و Rocky، معمولا از firewalld و systemd استفاده میشود. مراحل ویرایش فایل sshd_config مشابه قبل است؛ تفاوت اصلی در فایروال است.

فرض کنید پورت جدید ۴۹۲۱۰ است. دستورات زیر را اجرا کنید:
firewall-cmd –permanent –add-port=49210/tcp
برای اطمینان، پورت ۲۲ را فعلا باز نگه دارید:
firewall-cmd –permanent –add-service=ssh
سپس فایروال را reload کنید:
firewall-cmd –reload
مثل قبل، فایل /etc/ssh/sshd_config را ویرایش و Port را روی ۴۹۲۱۰ تنظیم کنید، سپس:
systemctl restart sshd
حالا از یک ترمینال جدید با پورت تازه متصل شوید. اگر همهچیز درست بود، میتوانید سرویس ssh پیشفرض (پورت ۲۲) را از firewalld حذف کنید:
firewall-cmd –permanent –remove-service=ssh
و دوباره فایروال را reload کنید.
تغییر پورت، فقط اولین قدم است. برای سرورهای تولیدی که روی آنها سایتهای پرترافیک، APIها یا رباتها اجرا میشوند، چند اقدام دیگر هم توصیه میشود:
اگر روی همین VPS سایت وردپرسی دارید، ترکیب این اقدامات با یک هاستینگ بهینهشده برای وردپرس یا استفاده از CDN میتواند هم امنیت و هم سرعت لود را بهتر کند. برای پروژههایی که ترافیک بالاتر دارند، انتخاب پلن VPS با RAM و vCPU بیشتر و دیسک NVMe تاثیر محسوسی روی زمان پاسخگویی خواهد داشت.
هر تغییری در سطح سیستمعامل، از جمله تغییر پورت SSH، باید همراه با استراتژی بکاپ و مانیتورینگ باشد. بکاپ منظم از کانفیگها و دیتابیسها باعث میشود در صورت اشتباه یا حمله، بتوانید سریع سرویس را برگردانید.
بهصورت عملی، پیشنهاد میشود حداقل این موارد را پیادهسازی کنید:
در سرویسهای خرید سرور مجازی ایران، داشتن منابع اختصاصیتر نسبت به هاست اشتراکی به شما اجازه میدهد این ابزارهای مانیتورینگ را بدون نگرانی از محدودیت شدید CPU و RAM اجرا کنید.
اگر روی VPS خود کنترلپنلی مثل cPanel، DirectAdmin یا CyberPanel نصب کردهاید، باید حتما هماهنگی بین تنظیمات SSH و فایروال پنل را در نظر بگیرید. بسیاری از این پنلها ماژول فایروال داخلی دارند (مثل CSF در cPanel) که باید پورت جدید SSH در آنها هم ثبت شود.
در غیر این صورت، ممکن است فایروال سیستمعامل پورت را باز کند، اما فایروال پنل آن را ببندد. همیشه بعد از تغییر پورت، از طریق پنل هم وضعیت Ruleها را بررسی کنید. برای سایتهایی که روی هاست اشتراکی هستند، این سطح از کنترل در دسترس نیست و باید از امکاناتی که هاستینگ ارائه میدهد استفاده کنید یا در صورت نیاز به کنترل بیشتر، به VPS مهاجرت کنید.
اگر فعلا روی هاست اشتراکی هستید و بهدنبال کنترل بیشتر روی SSH، فایروال و نسخههای نرمافزارها هستید، مطالعه مقاله هاست اشتراکی یا سرور مجازی، کدام بهتر است؟ بررسی ویژگی ها و کاربردها میتواند در انتخاب مسیر بعدی کمک کند.
بسیاری از تیمها زمانی به فکر تغییر پورت SSH میافتند که از محدودیتهای هاست اشتراکی خسته شدهاند؛ جایی که نه دسترسی روت دارید، نه امکان نصب فایروال دلخواه و نه کنترل روی نسخه کرنل و سرویسها.
در VPS لینوکسی، شما میتوانید:
اگر هنوز بین هاست و VPS مردد هستید، مقاله تفاوت هاست وردپرس با سرور مجازی (vps) دید خوبی از سطح کنترل و مسئولیت هرکدام به شما میدهد.
خیر، این فقط یک لایه کمکی است. باید در کنار آن از کلید SSH، فایروال، fail2ban و بکاپ منظم استفاده کنید تا ریسک بهطور جدی کاهش یابد.
از طریق کنسول VNC یا HTML5 در پنل VPS وارد شوید، فایل sshd_config را برگردانید یا پورت را اصلاح کنید، سپس سرویس sshd را ریاستارت کنید.
معمولا خیر، چون دسترسی روت و ویرایش sshd_config در اختیار میزبان است. برای این سطح کنترل باید به سرور مجازی یا اختصاصی مهاجرت کنید.
اگر درست انجام شود، خیر. فقط هنگام ریاستارت sshd یک قطعی چندثانیهای در دسترسی SSH دارید؛ سرویسهای وب و دیتابیس تحتتاثیر قرار نمیگیرند.
خیر، پورت SSH روی لایه شبکه کار میکند و به DNS دامنه شما ربطی ندارد. فقط باید در کلاینتهای SSH پورت جدید را تنظیم کنید.
بهصورت معمول، پورت برای سرویس sshd است و بین همه کاربران مشترک خواهد بود. برای جداسازی بیشتر باید از روشهایی مثل jump host استفاده کنید.
اگر خود پنل به SSH وابسته باشد، باید پورت جدید را در تنظیمات آن هم ثبت کنید. در غیر این صورت، معمولا پنل روی پورتهای مستقل کار میکند.
بله، هر زمان میتوانید sshd_config را ویرایش و پورت را به ۲۲ برگردانید؛ فقط فراموش نکنید تنظیمات فایروال را هم هماهنگ کنید.
تغییر پورت SSH در سرور مجازی لینوکس کار پیچیدهای نیست، اما اگر بدون بکاپ، فایروال و دسترسی کنسول انجام شود، میتواند شما را از سرور قفل کند. با رعایت چکلیست این راهنما، میتوانید سطح حملات را کاهش دهید و در کنار آن، با تقویت فایروال، استفاده از کلید SSH و مانیتورینگ، امنیت کلی زیرساخت خود را بالا ببرید. اگر بهدنبال زیرساختی هستید که هم کنترل کامل SSH را داشته باشید و هم منابع اختصاصی، میتوانید برای پروژههای جدیتر خود به سراغ خرید هاست لینوکس یا پلنهای VPS حرفهای بروید و قدم بعدی را مطمئنتر بردارید.
ثبت دیدگاه