
Epp code چیست
دسامبر 20, 2025
سرور مجازی SSD چیست
دسامبر 20, 2025مقدمه (تغییر پورت SSH در لینوکس)
تغییر پورت SSH در لینوکس: اگر شما هم یک سرور مجازی لینوکسی دارید دیر یا زود با موج لاگین های ناموفق، بات های اسکنر و تلاش های پشت سر هم برای حدس زدن رمز عبور رو به رو می شوید.
اینجاست که خیلی ها سراغ تغییر پورت پیش فرض SSH می روند.
در این مقاله، «تغییر پورت SSH در لینوکس» را مرحله به مرحله و کاملاً عملی جلو می بریم: از اینکه پورت چیست و چرا اصلاً وجود دارد تا اینکه دقیقاً کجا باید تنظیمات را عوض کنید، چه
فایروالی را باید به روز رسانی کنید و چگونه بدون اینکه از سرور قفل شوید تغییرات را تست کنید.
در کنار خود تغییر پورت به نکات مهم امنیتی مثل استفاده از کلید SSH، محدود کردن دسترسی با فایروال، کنترل دسترسی روت و بررسی لاگ ها هم می پردازیم تا نتیجه کار فقط « عوض شدن عدد پورت » نباشد، بلکه یک ارتقای واقعی امنیتی
اتفاق بیفتد.
این آموزش به درد سرور های Ubuntu / Debian و همچنین AlmaLinux / Rocky / CentOS می خورد و برای سناریو های رایج در VPS ها نوشته شده است.
پورت SSH در سرور مجازی لینوکس چه کاری انجام می دهد؟
SSH یک سرویس شبکه ای برای مدیریت امن سرور از راه دور است.
وقتی شما با نرم افزار هایی مثل Terminal ،PuTTY یا MobaXterm به سرور وصل می شوید، در واقع دارید به سرویس SSH روی یک پورت مشخص درخواست اتصال می دهید.
پورت را می توانید مثل شماره واحد در یک ساختمان تصور کنید: آی پی، آدرس ساختمان است و پورت ، در ورودی سرویس مورد نظر.
نکته: سرویس SSH معمولاً روی پورت 22 گوش می دهد، یعنی هر کسی به آی پی شما روی پورت 22 درخواست بدهد، به سرویس SSH می رسد.

منظور از پورت SSH یعنی چه؟
منظور از پورت SSH یعنی چه؟ یعنی همان شماره ای که تعیین می کند اتصال SSH باید از کدام مسیر وارد سرور شود.
در سیستم عامل، سرویس sshd ( سرور SSH ) روی آن پورت Listen می کند.
اگر پورت را عوض کنید، کلاینت ها باید موقع اتصال پورت جدید را مشخص کنند، مثلاً:
bash
ssh -p 2222 user@SERVER_IP
برای چه پورت SSH را تغییر می دهیم؟
واقع بینانه بگوییم: تغییر پورت بهتنهایی یک « دیوار امنیتی قطعی » نیست ، اما یک لایه کاهش نویز و کاهش حملات خودکار ایجاد میکند . دلایل اصلی :
1. کاهش حملات رباتها و اسکنهای عمومی
بیشتر اسکنر های ساده و بات ها فقط پورت 22 را می زنند.
تغییر پورت باعث می شود تعداد تلاش های لاگین نا موفق و فشار لاگ ها کم شود.
2. کم شدن ریسک Brute Force روی رمز عبور
اگر هنوز احیاناً جایی از رمز عبور استفاده میکنید ، کمتر در معرض حملات تکراری قرار میگیرید ( البته بهترین کار ، کلید SSH است ) .
3. ساده تر شدن مانیتورینگ و تشخیص رفتار مشکوک
وقتی روی پورت غیرمعمول میروید ، هر اتصال روی آن پورت ارزش بررسی بیشتری دارد و راحتتر میتوانید Rule های امنیتی دقیقتری بنویسید .
4. هماهنگی با سیاست های سازمانی
در بعضی تیم ها، پورت های مدیریتی را طبق استاندارد داخلی روی محدوده خاصی نگه می دارند.
نکته: تغییر پورت، جایگزین اقدامات اصلی مثل کلید SSH، بستن لاگین روت، فایروال و محدود کردن آی پی نیست پس بهتر است آن را یک لایه تکمیلی بدانید، نه درمان قطعی.
- انتخاب پورت مناسب: چه عددی بگذاریم که منطقی باشد؟
- پورت های پایین تر از 1024 معمولاً « پورت های شناخته شده » هستند و بهتر است سراغشان نروید.
- عددی انتخاب کنید که با سرویس های دیگر تداخل نداشته باشد.
- خیلیها از 2222، 22022 و 5022 استفاده می کنند اما اگر دنبال کاهش اسکن هستید، یک عدد کمتر قابل حدس انتخاب کنید ( مثلاً 18443 یا 39222 ).
- اگر پشت فایروال سازمانی هستید مطمئن شوید خروجی آن پورت برای تیم شما باز است.
- قبل از تغییر پورت این 5 کار را حتماً انجام بدهید
1. یک دسترسی اضطراری داشته باشید: کنسول دیتاسنتر/ VNC / Rescue یا حداقل پنل VPS که بتوانید در صورت قفل شدن وارد شوید.
2. یک Session فعلی را باز نگه دارید: تا وقتی مطمئن نشده اید پورت جدید کار می کند، اتصال فعلی را نبندید.
3. فایروال سرور و فایروال کلود را چک کنید: خیلی ها پورت را در sshd عوض می کنند ولی در UFW یا firewalld باز نمی کنند.
4. پورت جدید را روی مانیتورینگ و مستندات ثبت کنید: این مورد ساده است ولی جلوی دردسر های آینده را می گیرد.
5. اگر SELinux فعال است ، برای پورت جدید آماده باشید: روی RHEL-based ها ممکن است لازم شود SELinux هم به پورت جدید اجازه بدهد.

مراحل تغییر پورت SSH در لینوکس به صورت امن و بدون قفل شدن:
مرحله اول: بررسی وضعیت فعلی SSH و پورت فعلی
روی سرور بزنید:
bash
ss -tulpen
grep ssh
یا:
bash
sudo lsof -i -P -n
grep sshd
اگر پورت 22 را می بینید یعنی همان حالت پیش فرض است.
مرحله دوم: ویرایش فایل تنظیمات sshd
فایل اصلی معمولاً این است:
Debian / Ubuntu: /etc/ssh/sshd_config
Alma / Rocky / CentOS: همان مسیر
با nano یا vi:
bash
sudo nano /etc/ssh/sshd_config
داخل فایل دنبال Port بگردید.
اگر کامنت بود از حالت کامنت خارج کنید.
پیشنهاد حرفه ای: فعلاً پورت قبلی را حذف نکنید و یک پورت دوم هم اضافه کنید تا بدون ریسک تست کنید:
conf
Port 22
Port 2222
یا اگر از ابتدا فقط یک خط Port دارید:
conf
Port 2222
- یک روش امن: اول دو پورت را هم زمان فعال کنید، تست بگیرید، بعد پورت 22 را حذف کنید.
این روش احتمال قفل شدن را خیلی کم می کند.
نکات امنیتی تکمیلی داخل همین فایل ( توصیهشده )
اگر سیاست شما اجازه می دهد، این موارد را هم بررسی کنید:
غیر فعال کردن لاگین روت:
conf
PermitRootLogin no
اجباری کردن کلید و بستن پسورد ( اگر کلید دارید ):
conf
PasswordAuthentication no
PubkeyAuthentication yes
محدود کردن کاربر های مجاز:
conf
AllowUsers youruser
( یا در سناریو تیمی، AllowGroups )
مرحله سوم: تست صحت کانفیگ قبل از ری استارت
خیلی مهم است. قبل از اعمال تغییرات:
bash
sudo sshd -t
اگر خروجی نداد یعنی تنظیمات سالم است.
اگر خطا داد همان جا اصلاح کنید.
مرحله چهارم: اعمال تغییرات سرویس SSH
روی اکثر سیستم ها:
bash
sudo systemctl reload sshd
اگر reload جواب نداد، restart بزنید:
bash
sudo systemctl restart sshd
روی بعضی توزیع ها نام سرویس ممکن است SSH باشد:
bash
sudo systemctl restart ssh
مرحله پنجم: باز کردن پورت جدید در فایروال سرور
اینجا نقطه ای است که خیلی ها جا می مانند.
حالت A :UFW ( معمولاً روی Ubuntu )
پورت جدید را اجازه بدهید:
bash
sudo ufw allow 2222/tcp
سپس وضعیت را ببینید:
bash
sudo ufw status
اگر میخواهید بعداً 22 را ببندید:
bash
sudo ufw delete allow 22/tcp
حالت B : firewalld ( Alma / Rocky / CentOS )
اول پورت جدید:
bash
sudo firewall-cmd –add-port=2222/tcp –permanent
sudo firewall-cmd –reload
بعد بررسی:
bash
sudo firewall-cmd –list-ports
حالت C :iptables
قانون نمونه:
bash
sudo iptables -I INPUT -p tcp –dport 2222 -j ACCEPT
و اگر از iptables-persistent استفاده می کنید، ذخیره کنید.
مرحله ششم: اگر SELinux فعال است ( خیلی مهم روی RHEL-based )
ابتدا وضعیت SELinux:
bash
getenforce
اگر Enforcing بود و پورت جدید گذاشته اید، باید پورت را به نوع SSH اضافه کنید:
bash
sudo semanage port -a -t ssh_port_t -p tcp 2222
اگر قبلاً پورت ثبت شده و خطا داد، به جای -a از -m استفاده کنید:
bash
sudo semanage port -m -t ssh_port_t -p tcp 2222
ممکن است نیاز باشد بسته policycoreutils-python-utils نصب باشد.
مرحله هفتم: تست اتصال از بیرون، قبل از بستن پورت 22
حالا از سیستم خودتان تست کنید:
bash
ssh -p 2222 youruser@SERVER_IP
اگر وصل شد، عالی است.
در این مرحله هنوز Session قدیمی را نبندید تا مطمئن شوید همه چیز پایدار است.
مرحله هشتم: حذف پورت 22 (اگر تصمیم قطعی دارید)
برگردید به فایل sshd_config و خط port 22 را حذف کنید و فقط پورت جدید را نگه دارید:
conf
Port 2222
بعد دوباره:
bash
sudo sshd -t
sudo systemctl reload sshd
و در فایروال هم 22 را ببندید (طبق UFW / firewalld.)
-
امنیت VPS
خیلی وقت ها مشکل اصلی سرور نه پورت SSH است و نه حتی رمز عبور، بلکه نبود یک روال منظم برای به روزرسانی و مدیریت دسترسی هاست.
اگر روی VPS چند نفر دسترسی دارند، حتماً دسترسی ها را با کلید SSH جدا کنید ، برای هر نفر یک کلید اختصاصی بسازید و وقتی همکاری تمام شد، همان لحظه کلید را از authorized_keys حذف کنید.
همین طور آپدیت امنیتی سیستم عامل و سرویس ها را در یک برنامه منظم قرار دهید.(مثلاً هفتگی و لاگ های مهم را مانیتور کنید تا اگر رفتار مشکوکی مثل تلاش های زیاد برای ورود یا تغییرات غیرعادی دیدید، سریع واکنش بدهید.
این کار ها شاید «هیجان تغییر پورت» را نداشته باشد، ولی در عمل بیشترین اثر را روی امنیت واقعی سرور می گذارد.
خطا های رایج و راه حل های سریع
1) بعد از تغییر پورت، اتصال قطع شد و هیچ چی بالا نمی آید:
- احتمال اول: پورت جدید در فایروال باز نشده.
- احتمال دوم: فایروال دیتاسنتر/کلود هنوز فقط 22 را اجازه می دهد.
- احتمال سوم: SELinux جلوی پورت را گرفته (Enforcing).
- احتمال چهارم: سرویس sshd با کانفیگ جدید بالا نیامده.
راه حل عملی:
از پنل VPS وارد کنسول شوید و این ها را چک کنید:
bash
systemctl status sshd
journalctl -u sshd -n 50 –no-pager
ss -tulpen | grep ssh
2) سرویس sshd ری استارت نمی شود و خطا می دهد
معمولاً خطای سینتکس یا اشتباه در فایل کانفیگ است. سریع ترین تست:
bash
sshd -t
خروجی دقیقاً می گوید مشکل کجاست.
3) از بیرون پورت باز است ولی باز هم وصل نمی شود
گاهی مسیر شبکه یا NAT مشکل دارد.
روی سرور ببینید واقعاً Listen هست یا نه:
bash
ss -tlnp | grep 2222
اگر Listen نیست، یعنی sshd آن پورت را نگرفته.
اگر Listen هست ولی بیرون بسته است، یعنی فایروال یا فایروال بالادستی مانع شده.
نکته های حرفه ای برای امنیت بیشتر بعد از تغییر پورت
- کلید SSH را جایگزین پسورد کنید (اثر امنیتی خیلی بیشتر از تغییر پورت.)
- Fail2ban یا ابزار های مشابه را فعال کنید تا IP های مهاجم Ban شوند.
- فقط به IP های مشخص اجازه SSH بدهید ( اگر تیم شما آی پی ثابت دارد ، بهترین حالت است.)
- لاگین روت را ببندید و با کاربر عادی وارد شوید، بعد sudo کنید.
- لاگ ها را بررسی کنید: فایل های رایج: /var/log/auth.log یا /var/log/secure
جمع بندی
اگر بخواهیم خلاصه و کاربردی بگوییم: تغییر پورت SSH یک اقدام کم هزینه برای کم کردن اسکن ها و تلاش های خودکار است.
اما وقتی ارزش واقعی پیدا میکند که در کنار آن کلید SSH، فایروال، محدودیت دسترسی و مانیتورینگ هم فعال باشد.
مراحل درست این است که اول پورت دوم را اضافه کنید، تست بگیرید، بعد پورت قبلی را حذف کنید و قوانین فایروال و در صورت نیاز SELinux را هم هماهنگ کنید.
با این روش هم امنیت بهتر می شود و هم ریسک قفل شدن روی سرور نزدیک به صفر می رسد.
سوالات متداول
1) آیا تغییر پورت SSH واقعاً امنیت را بالا می برد؟
تا حدی بله اما بیشتر از جنس « کاهش نویز و حملات رباتی » است.
امنیت اصلی وقتی بالا می رود که پسورد را کنار بگذارید و با کلید SSH کار کنید، لاگین روت را ببندید و دسترسی را با فایروال محدود کنید.
2) بهترین پورت برای SSH چیست؟
پورت بهترین در همه شرایط نداریم.
یک پورت بالاتر از 1024 انتخاب کنید که با سرویس های دیگر تداخل نداشته باشد و در شبکه شما بلاک نشده باشد.
اگر محیط سازمانی دارید، پورت را طبق سیاست داخلی انتخاب کنید.
3) اگر پورت را عوض کنم، کاربران چطور وصل شوند؟
باید پورت را هنگام اتصال مشخص کنند.
مثال:
Bash
ssh -p 2222 user@ip
اگر هدف شما کاهش اسکن و سخت تر کردن دسترسی عمومی است، بعد از تست نهایی بهتر است 22 را ببندید.
ولی اگر تیم بزرگی دارید یا احتمال می دهید برخی شبکه ها فقط 22 را اجازه بدهند، می توانید موقتاً نگه دارید و در عوض دسترسی را با IP محدود کنید.
5) آیا می توانم چند پورت SSH همزمان داشته باشم؟
بله. در sshd_config می توانید چند خط Port بگذارید.
این روش برای مهاجرت امن عالی است اما برای همیشه توصیه نمی شود چون سطح حمله را بیشتر می کند.
بسیار ممنون که مارا در مقاله تغییر پورت SSH در لینوکس همراهی نمودید.
تیم تولید محتوای مایا هاست از شما دعوت می کند برای مطلعه و آموزش از تازه ترین مقالات ما به صفحه بلاگ مایا هاست مراجعه کنید.




