
به اشتراک بگذارید
چرا باید پورت SSH را در سرور مجازی تغییر دهیم؟ پورت SSH، دروازه ورود امن به سرور لینوکسی شماست. اما چون پورت پیشفرض آن 22 است، اولین هدف هکرها در حملات Brute-force به حساب میآید. با تغییر پورت SSH در سرور مجازی، احتمال شناسایی و نفوذ خودکار را بهشدت کاهش میدهید.
اگر از یک وی پی اس ایران استفاده میکنید، اهمیت این کار دوچندان است؛ چون امنیت شبکه داخلی و دسترسی پایدار برای کسبوکار شما حیاتی است. در این مقاله از بلاگ وب داده موارد زیر را می آموزیدپس تا انتها همراه ما باشید.
- پورت جدید را بهدرستی انتخاب کنید.
- قبل از تغییر، فایروال را آماده و تنظیم کنید.
- پس از تغییر، بدون قطع شدن از SSH، اتصال را تست کنید.
- و در صورت خطا، بهراحتی Rollback انجام دهید.
آنچه در این مقاله میخوانید:
پورت SSH چیست و چرا باید آن را تغییر دهیم؟
پورت SSH چیست؟ وقتی شما از طریق ترمینال (یا نرمافزاری مثل PuTTY یا Termius) به یک سرور لینوکسی متصل میشوید، این اتصال از طریق یک پروتکل خاص به نام SSH (Secure Shell) برقرار میشود.
SSH وظیفه دارد دادهها، دستورات و رمز عبور شما را بهصورت رمزگذاریشده بین کامپیوتر شما و سرور منتقل کند تا هیچکس در مسیر نتواند اطلاعات را بخواند. اما برای اینکه سیستم بداند «کدام سرویس در حال گوش دادن به درخواستهاست»، از مفهومی به نام پورت (Port) استفاده میشود.هر پورت در شبکه مثل یک در ورودی است که بستههای اطلاعاتی از طریق آن وارد یا خارج میشوند.
پورت 22 به صورت پیش فرض برای سرویس SSH در همهی سیستمعاملهای لینوکسی رزرو شده است. به زبان سادهتر، وقتی شما مینویسید:
🚨چرا باید پورت SSH را تغییر دهیم؟
وقتی شما پورت SSH را به عنوان مثال از 22 به 2222 تغییر میدهید، ربات ها نمی توانند به صورت خودکار پورت را تشخیص دهند و حملات از طریق این پورت کاهش پیدا می کند.
پس از جمله دلایل تغییر پورت SSH یا همان پورت 22 می تواند به موارد زیر اشاره کرد:
- جلوگیری از حملات Brute-force (تلاشهای ورود مکرر به سرور).
- کاهش لاگهای امنیتی غیر ضروری.
- افزایش امنیت در سطح شبکه بدون نیاز به ابزارهای اضافی.
پیشنیازهای تغییر پورت SSH در سرور
پیش از تغییر پورت، باید چند اقدام حیاتی انجام دهید تا از قطع اتصال جلوگیری کنید.
1. ورود به سرور با دسترسی root
ssh root@your-server-ip 2. بررسی دسترسی VNC به سرور
قبل از تغییر پورت SSH، لازم است اطمینان حاصل کنید که به سرور خود از طریق دسترسی VNC متصل میشوید. در صورتی که در فرآیند تغییر پورت SSH خطایی رخ دهد و اتصال شما قطع شود، تنها راه بازیابی دسترسی به سرور، استفاده از کنسول VNC است.
VNC در واقع محیطی گرافیکی برای مدیریت مستقیم سرور است که بدون نیاز به پورت SSH کار میکند و امکان ویرایش فایلها یا بازگردانی تنظیمات را در صورت بروز خطا برایتان فراهم میکند. برای استفاده از آن:
1️⃣از طریق پنل مجازیسازی یا کنترلپنل سرور خود، گزینه VNC Console را باز کنید.
2️⃣وارد سرور شوید و فایل تنظیمات SSH (/etc/ssh/sshd_config) را در صورت نیاز ویرایش کنید.
3️⃣و پس از رفع خطا، سرویس SSH را مجدداً راهاندازی نمایید.
3. باز کردن پورت جدید در فایروال
یکی از پیشنیازهای کلیدی برای تغییر پورت SSH این است که پورت جدید را قبل از هر تغییری در فایروال باز کنید تا در صورت ریاستارت سرویس، دسترسی شما قطع نشود. برای مثال اگر میخواهید پورت 2222 را به جای پورت 22 استفاده کنید می بایست آن را در فایروال لینوکس Allow کنید البته در صورتی که فایروال شما فعال باشد. در ادامه، مراحل دقیق برای توزیعهای متداول را ذکر کرده ایم.
در Ubuntu / Debian :
2222 را بهعنوان پورت جدید تنظیم کنید، کافی است دستور زیر را وارد کنید:# بررسی وضعیت فایروال در اوبونتو:
sudo ufw status
# دستور اضافه کردن پورت جدید به فایروال:
sudo ufw allow 2222/tcp در AlmaLinux / Rocky / CentOS:
# بررسی firewalld و زون فعال:
sudo systemctl is-active firewalld
#افزودن پورت جدید (برای زون پیشفرض، معمولاً public):
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload | محدوده پورت | نوع پورت | توضیح |
|---|---|---|
| 0–1023 | System Ports | رزرو برای سرویسهای سیستمی |
| 1024–49151 | Registered Ports | قابل استفاده برای سرویسهای اختصاصی |
| 49152–65535 | Dynamic Ports | موقت و تصادفی |
آموزش تغییر پورت SSH در سرور لینوکس
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup گام 1- ویرایش فایل کانفیگ SSH و تغییر پورت
فایل پیکربندی اصلی که تمامی تنظیمات SSH در آن ذخیره می شود معمولاً در مسیر /etc/ssh/sshd_config قرار دارد. این فایل (sshd_config) مثل یک دفترچه تنظیمات است که به سرویس SSH میگوید چطور کار کند، از چه پورتی استفاده کند، چه کسانی میتوانند وارد شوند و غیره.
🔶برای ویرایش آن در ترمینال لینوکس با دسترسی root از دستور زیر استفاده کنید:
sudo nano /etc/ssh/sshd_config 🔶پس از وارد کردن دستور بالا وارد محتویات فایل می شوید و امکان ویرایش آن را خواهید داشت. می بایست در این فایل سطر زیر را پیدا کنید یعنی Port 22 .
عدد 22 پورت پیشفرض SSH است ، برای پیدا کردن سریعتر این خط، در ویرایشگر nano کلیدهای Ctrl + W را همزمان بزنید و کلمه Port را تایپ کنید.
#Port 22 
🔶پس از اینکه پورت را پیدا کردید باید علامت # را حذف کرده و عدد پورت را به پورت جدید تغییر دهید. (ما 2222 را وارد کردیم ولی شما می توانید پورت جدید دلخواه خود را جایگزین کنید.)
Port 2222 
🔶در انتها پس از تغییر پورت SSH در سرور مجازی در ویرایشگر کلیدهای Ctrl + O را بزنید و برای تایید Enter را بزنید و در ادامه Ctrl + X را بزنید تا از محیط ویرایشگر خارج شوید.
🔶سپس سرویس SSH را ری استارت کنید. برای این کار دستور زیر را در ترمینال لینوکس وارد کرده و Enter کنید.
sudo systemctl restart ssh
# یا
sudo systemctl restart sshd

دقت داشته باشید که در برخی توزیعهای لینوکس نام سرویس ممکن است sshd.service باشد.
🔶در مرحله بعد حتما systemctl status ssh بگیرید.
🔶در ادامه در صورتی که سیستم عامل شما Ubuntu24 است پس از ری استارت کردن سرویس SSH می بایست دستور زیر را وارد کنید تا پورت جدید به صورت کامل معرفی شود.
systemctl daemon-reload 
گام 2 – افزودن پورت جدید به فایروال (تنظیمات اضافی)
# باز کردن پورت جدید
ufw allow 2222/tcp
# بررسی وضعیت
ufw status # باز کردن پورت جدید
firewall-cmd --add-port=2222/tcp --permanent
# اعمال تغییرات
firewall-cmd --reload
# بررسی
firewall-cmd --list-ports گام 3- تست اتصال روی پورت جدید پس از تغییر پورت SSH
قبل از بستن پورت قدیمی، باید اتصال روی پورت جدید را تست کنید تا مطمئن شوید که پورت جدید درست کار می کند. اگر این کار را نکنید و مستقیما پورت قدیمی را ببندید، ممکن است دیگر نتوانید به سرور خود وارد شوید! (مثل اینکه در خانه را قفل کنید و کلید جدید قفل را باز نکند.)
برای این کار لازم است با استفاده از دستور زیر به سرور SSH بزنید یا ترمینال جدید باز کنید و در انتها نیز شماره پورت جدید را وارد کنید مانند زیر:
ssh root@your-server-ip -p 2222 در دستور بالا root نام کاربری است که میخواهید با آن وارد سرور شوید.
your-server-ip آدرس IP سرور شماست، مثلا 185.88.153.10
p 2222- یعنی از پورت 2222 استفاده کن همان پورتی جدیدی که در مرحله قبل ست کردیم (به جای پورت پیشفرض 22).
✅ اگر اتصال موفق بود، سیستم از شما رمزعبور خواسته و سپس وارد سرور می شوید و این به این معناست که همه چیز درست کار می کند.
🔶در این حالت باید پورت قبلی (یعنی پورت 22) را در فایروال ببندید تا امنیت بیشتری داشته باشید. برای این کار بسته به نوع فایروالی که روی سرورتان نصب است، یکی از دستورات زیر را استفاده کنید:
اگر از فایروال رایج در Ubuntu یعنی UFW را استفاده میکنید از دستور مربوط به آن و اگر از CentOS/RHEL استفاده میکنید از دستور firewall-cmd استفاده کنید:
sudo ufw delete allow 22/tcp
# یا
sudo firewall-cmd --remove-port=22/tcp --permanent
sudo firewall-cmd --reload در آخر جهت تست نهایی، بعد از اینکه همه کارها را انجام دادید، اتصال فعلی خود را قطع کنید و پس از چند دقیقه (تغییرات فایروال ممکن است کمی طول بکشد تا کاملا اعمال شود) دوباره سعی کنید وارد سرور شوید:
ssh root@your-server-ip -p 2222 حتما از اتصال VNC به سرور اطمینان حاصل کنید.
قبل از بستن پورت 22 حتما اطمینان کامل داشته باشید که میتوانید از پورت جدید وارد سرور شوید.
شماره پورت جدید را یادداشت کنید چون دیگر نمیتوانید با پورت 22 وارد شوید.
اگر از کنترل پنل استفاده میکنید (مثل cPanel یا Plesk)، مطمئن شوید که تنظیمات آن هم بهروزرسانی شده است.
آموزش تغییر پورت SSH در Ubuntu 24
همانند نسخههای قبلی اوبونتو/دبیان، معمولا نیاز است که پورتهای شنود (listening ports) را در فایل sshd_config تغییر دهید و سپس اجازه دسترسی را در فایروال صادر کنید. با این حال، برای نسخههای جدیدتر اوبونتو مانند Ubuntu 24، نیاز داریم که تغییراتی در فایلهای مرتبط با ssh.socket نیز اعمال کنیم. پس در صورتی که از اوبونتو 24 استفاده می کنید برای تغییر پورت SSH مراحل زیر را انجام دهید.
🔶برای این کار پس ورود به ترمینال لینوکس با استفاده از دستور وارد محیط ویرایش فایل ssh.socket شوید.
systemctl edit ssh.socket 🔶با اجرای دستور بالا فایل /etc/systemd/system/ssh.socket.d/override.conf برای ویرایش باز می شود. سپس، محتوای زیر را در آن وارد کنید:
[Socket]
ListenStream=
ListenStream=2222 📌توجه داشته باشید که عبارت ListenStream= (بدون هیچ مقداری پس از آن) مورد نیاز است تا مشخص کنیم که دیگر از پورت پیشفرض 22 استفاده نخواهیم کرد. مانند تصویر زیر

🔶در نهایت کافی است که هر دو سرویس ssh و ssh.socket را به صورت زیر راهاندازی مجدد کنید:
systemctl restart ssh
systemctl restart ssh.socket 📌فراموش نکنید که اگر از فایروال استفاده میکنید، باید پورت جدید یعنی 2222 را در فایروال مربوطه باز کنید.
🔶در آخر مجدد سعی کنید به سرور SSH بزنید. به یاد داشته باشید که هنگام اتصال از طریق SSH شما شماره پورت را تغییر داده اید، پس هنگام وارد کردن دستور ، پورت جدید را نیز وارد کنید (مانند ssh root@IP -p2222)و یا در صورتی که از طریق نرم افزار پوتی به سرور متصل می شوید پس از وارد کردن IP شماره پورت جدید را وارد کنید.
مشکلات رایج در تغییر پورت SSH
پس از تغییر پورت SSH در سرور ممکن است چند حالت رخ دهد:
🔶اتصال شما قطع شود و نتوانید دوباره وارد سرور شوید.
🔶 پورت جدید باز نشود و هنگام تست اتصال، پیغام خطا دریافت کنید.
🔶سرویس SSH کار نکند به دلیل اشتباه در تنظیمات.
خبر خوب اینکه اگر طبق راهنمای قبلی، اتصال قدیمی خود را باز نگه داشته باشید، میتوانید همه چیز را به حالت اول برگردانید!
✅برای این کار و جهت برگرداندن فایل تنظیمات به حالت قبل مراحل زیر انجام دهید:
- از طریق VNC به سرور متصل شوید، فایل /etc/ssh/sshd_config را به حالت قبلی برگردانید. یعنی خطی که تغییر داده بودید را دوباره به حالت قبل برگردانید یعنی Port 2222 را به حالت قبل Port 22# برگردانید و سپس مانند قبل تغییرات را ذخیره کنید و از محیط ویرایشگر خارج شوید.
- پورت قدیمی را در فایروال باز کنید. اگر پورت 22 را در فایروال بسته بودید، باید دوباره آن را باز کنید. از دستور زیر استفاده کنید.
ufw allow 22/tcp
# یا
firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --reload - حالا باید سرویس SSH را مجددا راهاندازی (restart) کنید تا تغییرات اعمال شود.
sudo systemctl restart sshd sudo systemctl status sshd جمع بندی نحوه تغییر پورت SSH
در انتها می توان گفت تغییر پورت SSH در سرور مجازی، یکی از ساده ترین اما مؤثرترین راهها برای افزایش امنیت دسترسی است. با رعایت اصول بالا، میتوانید در کمتر از 10 دقیقه، بدون خطر قطع اتصال، پورت را تغییر داده و فایروال را هماهنگ کنید.
در نهایت پیشنهاد میشود برای اطمینان از امنیت کامل، احراز هویت مبتنی بر کلید (Key Authentication) را فعال و ورود با رمز عبور را غیرفعال کنید. امنیت، نتیجه مجموعهای از اقدامات کوچک اما هوشمندانه است.
اگر سرور شما روی بستر VPS ایران میزبانی میشود، این تغییر نه تنها امنیت اتصال شما را بالا میبرد، بلکه با تنظیمات شبکه داخلی، سرعت و ثبات بیشتری در دسترسی خواهید داشت. امیدوارم این مقاله از بلاگ وب داده نیز برای شما مفید واقع شده باشد.
سوالات متداول درباره تغییر پورت SSH در سرور مجازی
بهترین پورت برای جایگزینی پورت 22 چیست؟
بین 1024 تا 65535 هر پورتی میتواند استفاده شود. معمولاً پورتهایی مانند 2222، 2200 یا 2024 امنترند.
آیا تغییر پورت SSH در امنیت سرور تأثیر زیادی دارد؟
📚 منابع و رفرنسها:
- Sucuri Security Report 2024 – SSH Attack Trends
- DigitalOcean Docs: Changing SSH Port Securely (2025)
- Ubuntu Security Guide (2025 Edition)



