لینوکس

آموزش تغییر پورت SSH در لینوکس بدون قطع دسترسی به سرور

در این آموزش یاد می‌گیرید پورت پیش‌فرض SSH را در Ubuntu، Debian و سایر سرورهای لینوکسی به‌صورت امن تغییر دهید؛ از تنظیم Firewall و sshd_config تا تست Port جدید و جلوگیری از قطع دسترسی به VPS.

آموزش تغییر پورت SSH در لینوکس بدون قطع دسترسی به سرور
علیرضا عزیزی
علیرضا عزیزی
نویسنده و کارشناس
37 دقیقه • ۸ آبان ۱۴۰۵• ۱۳

معمولاً پورت پیش‌فرض SSH 22 هست؛ بنابراین وقتی می‌نویسیم:

ssh user@SERVER_IP

SSH Client به‌صورت پیش‌فرض تلاش می‌کند به Port 22 سرور متصل شود.

اما می‌تونیم OpenSSH Server را طوری تنظیم کنید که روی Port دیگری مثل:

2222

یا:

22022

منتظر اتصال باشد.

در این صورت اتصال ما به شکل زیر خواهد بود:

ssh -p 2222 user@SERVER_IP

اما تغییر Port SSH یک نکته بسیار مهم دارد:

اگر ترتیب تنظیم SSH و Firewall را اشتباه انجام دهید، ممکن است دسترسی خودتان به سرور را قطع کنید.

بنابراین قرار نیست ابتدا Port 22 را ببندیم و بعد امیدوار باشیم Port جدید کار کند.

روش امن این است:

انتخاب Port جدید
↓
باز کردن Port در Firewall
↓
باز کردن Port در Cloud Firewall
↓
تنظیم OpenSSH
↓
تست Configuration
↓
اعمال تغییر
↓
بررسی Listener
↓
تست اتصال جدید
↓
بستن Port قبلی
ChatGPT Image Sep 10, 2026, 06_40_10 PM.png

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

قبل از آموزش عملی بهتر است این سوءتفاهم را برطرف کنیم.

تغییر Port پیش‌فرض SSH از:

22

به مثلاً:

2222

می‌تواند تعداد زیادی از Botها و Scanهای بسیار ساده‌ای را که فقط Port 22 را بررسی می‌کنند از Logهای شما دور کند.

در نتیجه ممکن است تعداد تلاش‌های تصادفی Login کمتر شود.

اما:

تغییر پورت SSH جایگزین تنظیمات امنیتی واقعی نیست.

یک مهاجم یا Scanner می‌تواند Portهای باز Server را پیدا کند و تشخیص دهد سرویس SSH روی Port دیگری اجرا می‌شود.

برای امنیت SSH مواردی مثل این‌ها اهمیت بیشتری دارند:

  • استفاده از SSH Key

  • استفاده از User غیر Root

  • محدودکردن Password Login در صورت مناسب بودن سناریو

  • Firewall

  • محدودکردن Source IP در صورت امکان

  • Updateهای امنیتی

  • Monitoring

  • Fail2ban یا مکانیزم‌های مشابه در صورت نیاز

پس تغییر Port را بیشتر یک لایه تکمیلی و کاهش‌دهنده Noise در نظر بگیرید.


قبل از تغییر پورت SSH چه چیزهایی لازم داریم؟

مهم‌ترین پیش‌نیاز این آموزش این است که همین حالا یک SSH Session فعال داشته باشید.

Session فعلی را تا پایان آموزش نبندید.

اگر Provider سرور شما قابلیت‌هایی مثل:

Web Console
VNC
Serial Console
Recovery Console

دارد، بهتر است مطمئن شویم روش استفاده از آن را هم می‌دونیم.

در صورت اشتباه در Configuration، Console می‌تواند راه بازگشت شما به Server باشد.


قدم اول: پورت فعلی SSH را پیدا کنید

قبل از تغییر Port، اول وضعیت فعلی Server را ببینید.

روی Ubuntu یا Debian:

sudo systemctl status ssh

و برای دیدن Portهایی که Server روی آن‌ها Listen می‌کند:

sudo ss -tlnp | grep ssh

یا:

sudo ss -tlnp | grep ':22'

ممکن است خروجی‌ای شبیه این ببینید:

LISTEN 0 4096 0.0.0.0:22 0.0.0.0:*
LISTEN 0 4096 [::]:22    [::]:*

یعنی SSH روی Port 22 در حال Listen است.

Ubuntu نیز استفاده از ss را برای شناسایی Portهای باز و Process در حال Listen توصیه می‌کند. (مستندات امنیت Ubuntu)


Configuration مؤثر SSH را هم بررسی کنید

اجرا کنید:

sudo sshd -T | grep -i '^port'

در حالت معمول احتمالاً می‌بینید:

port 22

این روش کمک می‌کند Configuration مؤثر sshd را ببینیم، نه اینکه فقط یک فایل Config را حدس بزنیم.

همچنین می‌توانید بررسی کنید:

sudo sshd -T | grep -Ei '^(port|listenaddress|addressfamily)'

تا وضعیت Port و Addressهای مرتبط را ببینید.


قدم دوم: یک Port جدید مناسب انتخاب کنید

برای مثال در ادامه آموزش از:

2222

استفاده می‌کنیم.

شما می‌توانید Port دیگری انتخاب کنید، اما بهتر است قبل از استفاده مطمئن شوید Service دیگری روی آن Listen نمی‌کند.

مثلاً:

sudo ss -tlnp | grep ':2222'

اگر خروجی ندارید، احتمالاً Process فعالی روی آن Port وجود ندارد.

می‌توانید فهرست Listenerهای فعلی را هم ببینید:

sudo ss -tlnp

چه Portهایی را انتخاب نکنیم؟

بهتر است Port مربوط به سرویس معروف دیگری را تصادفی برای SSH انتخاب نکنید.

مثلاً Portهایی مثل:

80
443
3306
5432
6379

معمولاً برای سرویس‌های دیگری شناخته می‌شوند.

هدف ما ایجاد Configuration قابل نگهداری است، نه فقط انتخاب یک عدد عجیب.


قدم سوم: قبل از تغییر SSH، Port جدید را در Firewall باز کنید

این مرحله را قبل از تغییر OpenSSH انجام دهید.

اگر از UFW استفاده می‌کنید، وضعیت آن را ببینید:

sudo ufw status verbose

برای Port جدید:

sudo ufw allow 2222/tcp

دوباره وضعیت را بررسی کنید:

sudo ufw status numbered

باید Rule مربوط به Port جدید را ببینید.

مثلاً:

2222/tcp   ALLOW

فعلاً Port 22 را حذف نکنید.

یعنی موقتاً ممکن است Firewall اجازه هر دو Port را داشته باشد:

22   ✓
2222 ✓

تا وقتی اتصال روی Port جدید را واقعاً تست نکرده‌ایم، این حالت کاملاً عمدی است.

مستندات رسمی Ubuntu نیز امکان بازکردن Port مشخص با UFW و مشاهده Ruleها با ufw status numbered را مستند کرده است. (Ubuntu Firewall)


Cloud Firewall را فراموش نکنید

اگر VPS شما علاوه بر Firewall سیستم‌عامل، Firewall جداگانه‌ای در پنل Provider دارد، Port جدید باید آنجا هم Allow شود.

ساختار ممکن است شبیه این باشد:

Internet
   │
   ▼
Cloud Firewall
   │
   ▼
UFW
   │
   ▼
OpenSSH

بنابراین فقط اجرای:

sudo ufw allow 2222/tcp

کافی نیست اگر Cloud Firewall همچنان فقط Port 22 را قبول کند.

Inbound Rule جدید معمولاً چیزی شبیه این خواهد بود:

Protocol: TCP
Port: 2222
Source: IP/Range موردنیاز

اگر امکان محدودکردن SSH به IP یا Range مشخصی دارید و نیاز عملی شما اجازه می‌دهد، این روش از بازکردن SSH برای کل اینترنت محدودتر است.


قدم چهارم: از Configuration فعلی Backup بگیرید

قبل از تغییر OpenSSH بهتر است از فایل اصلی Backup داشته باشید.

مثلاً:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

در صورت ایجاد مشکل می‌توانید Configuration قبلی را بررسی یا Restore کنید.

Ubuntu نیز قبل از تغییرات حساس OpenSSH تهیه نسخه‌ای از Configuration را توصیه می‌کند. (مستندات OpenSSH اوبونتو)


قدم پنجم: Port جدید را در OpenSSH تنظیم کنید

فایل اصلی OpenSSH Server معمولاً:

/etc/ssh/sshd_config

است.

اما در Ubuntu امکان استفاده از Snippetهای جداگانه در:

/etc/ssh/sshd_config.d/

هم وجود دارد.

این روش کمک می‌کند Custom Configuration شما از فایل اصلی جدا بماند.

مثلاً:

sudo nano /etc/ssh/sshd_config.d/00-custom-port.conf

و داخل آن:

Port 2222

قرار دهید.

فایل را Save کنید.

اگر ترجیح می‌دهید فایل اصلی را ویرایش کنید:

sudo nano /etc/ssh/sshd_config

و Directive مربوط به Port را تنظیم کنید:

Port 2222

اما در سیستم‌های Ubuntu که از sshd_config.d استفاده می‌کنند، باید Configurationهای موجود در آن Directory را هم در نظر بگیرید.

Ubuntu به‌طور پیش‌فرض فایل‌های:

/etc/ssh/sshd_config.d/*.conf

را نیز Include می‌کند. (Ubuntu OpenSSH)


قدم ششم: قبل از Restart حتماً Configuration را تست کنید

این شاید مهم‌ترین Command مقاله باشد:

sudo sshd -t

اگر هیچ خروجی‌ای مشاهده نکردید، Configuration از نظر Syntax معتبر است.

اما اگر خطایی وجود داشته باشد، آن را قبل از Restart برطرف کنید.

مثلاً یک Directive اشتباه می‌تواند باعث شود sshd دیگر Start نشود.

اصل مهم:

Edit
↓
sshd -t
↓
Apply

نه:

Edit
↓
Restart فوری
↓
امیدوار باش!

مستندات رسمی Ubuntu هم صراحتاً توصیه می‌کند پیش از Restart کردن SSH، Configuration با sshd -t بررسی شود، چون Config اشتباه می‌تواند باعث قطع دسترسی Remote شود. (Ubuntu OpenSSH)


یک نکته مهم برای Ubuntuهای جدید: ssh.socket

در نسخه‌های جدید Ubuntu ممکن است OpenSSH به‌صورت Socket Activated اجرا شود.

برای بررسی:

systemctl status ssh.socket

اگر ssh.socket فعال است، تغییر Port ممکن است فقط با Restart کردن:

sudo systemctl restart ssh

اعمال نشود.

در این حالت بعد از اینکه sshd -t موفق بود، می‌توانید Configuration مربوط به systemd را Reload کنید:

sudo systemctl daemon-reload

و سپس:

sudo systemctl restart ssh.socket

را اجرا کنید.

بعد Port واقعی را بررسی کنید:

sudo ss -tlnp | grep ':2222'

Ubuntu از نسخه‌های جدید خود برای OpenSSH از Socket Activation استفاده کرده و در Ubuntu 24.04 نیز Port و Listen Address از Configuration sshd توسط Generator مربوط به systemd خوانده می‌شوند.

پس نکته مهم این نیست که Commandها را کورکورانه اجرا کنید؛ ابتدا ببینید Server شما:

ssh.service

یا:

ssh.socket

را چگونه مدیریت می‌کند.


اگر ssh.socket فعال نیست چه کنیم؟

اگر Server شما از مدل کلاسیک Service استفاده می‌کند، بعد از:

sudo sshd -t

می‌توانید در Ubuntu:

sudo systemctl restart ssh

را اجرا کنید.

در Ubuntu 26.04 نیز sshd.service به‌عنوان Alias برای ssh.service در دسترس قرار گرفته است.

برای توزیع‌های RHEL-based مثل AlmaLinux و Rocky Linux معمولاً Service با نام:

sudo systemctl restart sshd

مدیریت می‌شود.


قدم هفتم: بررسی کنید Port جدید واقعاً Listening است

بعد از اعمال Configuration فوراً Session قبلی را نبندید.

اجرا کنید:

sudo ss -tlnp | grep ':2222'

اگر Port جدید فعال شده باشد باید Listener مربوط به آن را ببینید.

مثلاً:

LISTEN 0 4096 0.0.0.0:2222 0.0.0.0:*

یا معادل IPv6.

همچنین دوباره Configuration مؤثر را بررسی کنید:

sudo sshd -T | grep -i '^port'

حالا باید Port موردنظر شما دیده شود.

verify-new-ssh-port-linux.webp

قدم هشتم: از یک Terminal جدید اتصال را تست کنید

Terminal فعلی را باز نگه دارید.

یک Terminal جدید روی کامپیوترتان باز کنید و بنویسید:

ssh -p 2222 user@SERVER_IP

اگر SSH Key مشخصی دارید:

ssh -p 2222 -i ~/.ssh/id_ed25519 user@SERVER_IP

در Windows PowerShell:

ssh -p 2222 -i "$env:USERPROFILE\.ssh\id_ed25519" user@SERVER_IP

اگر Login موفق شد، Port جدید عملاً قابل استفاده است.

این مهم‌تر از مشاهده Configuration است.

ما می‌خواهیم مسیر کامل را Verify کنیم:

Client
↓
Internet
↓
Cloud Firewall
↓
Server Firewall
↓
Port 2222
↓
OpenSSH
↓
Authentication
↓
Login ✓

Port جدید را از بیرون هم تست کنید

در Windows:

Test-NetConnection -ComputerName SERVER_IP -Port 2222

اگر:

TcpTestSucceeded : True

ببینید، TCP Connection به Port جدید برقرار می‌شود.

در Linux/macOS:

nc -vz SERVER_IP 2222

نیز قابل استفاده است.

این Testها در کنار Login واقعی کمک می‌کنند مطمئن شوید Firewall و Listener درست عمل می‌کنند.


قدم نهم: فقط بعد از تست موفق، Port 22 را ببندید

حالا فرض کنیم این دستور:

ssh -p 2222 user@SERVER_IP

در یک Terminal جدید با موفقیت Login می‌کند.

در این مرحله می‌توانید Rule قدیمی Port 22 را از Firewall حذف کنید؛ البته فقط اگر SSH دیگر روی آن Port استفاده نمی‌شود.

ابتدا Ruleها را ببینید:

sudo ufw status numbered

سپس Rule مربوط به Port 22 را با شماره صحیح حذف کنید یا، اگر Rule ساده‌ای دارید:

sudo ufw delete allow 22/tcp

در صورت استفاده از Profile:

sudo ufw delete allow OpenSSH

ممکن است مناسب باشد، اما قبل از حذف حتماً ببینید Profile دقیقاً چه Portی را باز می‌کند.

Cloud Firewall را هم به همین شکل به‌روزرسانی کنید.

در پایان هدف می‌تواند چنین باشد:

22    Closed
2222  Open

اما فقط بعد از موفقیت Login روی Port جدید.


Port قدیمی هنوز باز است؛ مشکل چیست؟

اگر Configuration را تغییر داده‌اید اما هنوز:

sudo ss -tlnp | grep ':22'

Listener نشان می‌دهد، چند مورد را بررسی کنید.

اول ssh.socket

systemctl status ssh.socket

اگر فعال است:

sudo systemctl daemon-reload
sudo systemctl restart ssh.socket

و بعد دوباره:

sudo ss -tlnp

را ببینید.


Configuration دیگری Port 22 را تعریف نکرده باشد

اجرا کنید:

sudo grep -Rni '^[[:space:]]*Port' /etc/ssh/sshd_config /etc/ssh/sshd_config.d/

ممکن است چند Configuration مختلف وجود داشته باشد.

سپس:

sudo sshd -T | grep -i '^port'

را بررسی کنید.


بعد از تغییر Port، چرا Connection refused می‌گیرم؟

فرض کنید:

ssh -p 2222 user@SERVER_IP

فوراً خطای:

Connection refused

می‌دهد.

احتمالاً یکی از این موارد وجود دارد:

sshd روی 2222 Listen نمی‌کند
Configuration اعمال نشده
Service/Socket مشکل دارد
Port اشتباه انتخاب شده
Firewall اتصال را REJECT می‌کند

اول:

sudo ss -tlnp | grep ':2222'

را بررسی کنید.

اگر Listener ندارید، Firewall اولین مشکل شما نیست؛ ابتدا باید OpenSSH واقعاً روی Port جدید Listen کند.


چرا روی Port جدید Connection timed out می‌گیرم؟

اگر مدتی صبر می‌کنید و بعد:

Connection timed out

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

UFW
Cloud Firewall
Security Group
Provider Firewall
Routing
Source IP Rule

اگر از اینترنت دیگری Port جدید قابل دسترسی است ولی از شبکه شما نیست، احتمال Source Network یا Filtering مطرح می‌شود.

این دقیقاً همان تفاوتی است که در مقالات عیب‌یابی SSH بررسی کردیم.


بعد از تغییر Port، چرا Permission denied می‌گیرم؟

این اتفاق در واقع خبر بدی نیست!

اگر:

ssh -p 2222 user@SERVER_IP

به:

Permission denied (publickey)

می‌رسد، یعنی Connection به Port جدید برقرار شده و SSH Server پاسخ داده است.

حالا مشکل به مرحله:

Authentication

منتقل شده است.

باید Username، Private Key و authorized_keys را بررسی کنید.

پس:

Connection refused
→ Port / Listener

Connection timed out
→ Network / Firewall

Permission denied
→ Authentication

آیا باید Port SSH را بالاتر از 1024 انتخاب کنیم؟

برای Custom SSH Port معمولاً استفاده از یک Port آزاد و غیرمتعارض بالاتر از محدوده Well-known Ports انتخاب ساده‌تری است.

اما هیچ عدد جادویی وجود ندارد.

مثلاً:

2222
22022
2022

صرفاً نمونه هستند.

مهم‌تر از عدد Port این است که:

  • توسط Service دیگری استفاده نشود

  • Firewall آن را Allow کند

  • Cloud Firewall هماهنگ باشد

  • در Documentation تیم ثبت شود

  • Monitoring و Automation آن را بدانند


SSH Config را بعد از تغییر Port به‌روز کنید

اگر مرتب به Server متصل می‌شوید، لازم نیست هر بار بنویسید:

ssh -p 2222 -i ~/.ssh/production user@203.0.113.10

روی Client فایل:

~/.ssh/config

را تنظیم کنید.

مثلاً:

Host netzo-server
    HostName 203.0.113.10
    User deploy
    Port 2222
    IdentityFile ~/.ssh/production

حالا فقط:

ssh netzo-server

را اجرا می‌کنید.

در Windows OpenSSH نیز فایل Config کاربر معمولاً در:

%USERPROFILE%\.ssh\config

قرار می‌گیرد.


Automation و Backup Scriptها را فراموش نکنید

اگر قبلاً ابزارهایی دارید که به Port 22 متصل می‌شوند، بعد از تغییر Port ممکن است Fail شوند.

مثلاً:

CI/CD
Git Deployment
Backup
Monitoring
Ansible
rsync
scp
sftp
Automation Scripts

همه این‌ها را بررسی کنید.

برای scp:

scp -P 2222 file.txt user@SERVER_IP:/path/

توجه کنید که در scp برای Port از:

-P

بزرگ استفاده می‌شود.

برای rsync:

rsync -av -e "ssh -p 2222" ./data/ user@SERVER_IP:/data/

اگر Port را تغییر دهید ولی Automation قدیمی همچنان 22 را استفاده کند، ممکن است Backup یا Deployment بعدی بدون اینکه متوجه شوید Fail شود.


تغییر پورت SSH و Fail2ban

اگر Fail2ban دارید، بعد از تغییر Port وضعیت Jail مربوط به SSH را هم بررسی کنید.

مثلاً:

sudo fail2ban-client status sshd

بسته به Configuration، Jail ممکن است Port را به‌صورت:

ssh

یا عدد مشخص دریافت کند.

بعد از تغییر OpenSSH مطمئن شوید ابزارهای امنیتی شما همچنان Traffic صحیح را Monitor می‌کنند.


آیا Port 22 را می‌توان کاملاً بست؟

بله، اگر:

  1. SSH روی Port جدید واقعاً Listen می‌کند

  2. Firewall جدید صحیح است

  3. Cloud Firewall صحیح است

  4. Login واقعی با Port جدید تست شده

  5. Automationها Update شده‌اند

آن‌وقت Port قبلی دیگر برای SSH لازم نیست.

اما هیچ عجله‌ای برای بستن آن قبل از تست نهایی وجود ندارد.


چک‌لیست امن تغییر Port SSH

  • Session فعلی SSH را باز نگه داشتم

  • در صورت امکان Console/Recovery Access را بررسی کردم

  • Port فعلی را با ss بررسی کردم

  • Port جدید با Service دیگری Conflict ندارد

  • Port جدید را ابتدا در UFW باز کردم

  • Port جدید را در Cloud Firewall باز کردم

  • از Configuration قبلی Backup گرفتم

  • Port جدید را در OpenSSH تنظیم کردم

  • sudo sshd -t بدون خطا اجرا شد

  • در صورت فعال بودن ssh.socket آن را Reload/Restart کردم

  • با ss وجود Listener جدید را بررسی کردم

  • از Terminal دوم Login واقعی انجام دادم

  • Automationها و SSH Config را Update کردم

  • فقط در پایان Port قبلی را بستم

ChatGPT Image Sep 10, 2026, 06_42_30 PM.png

اشتباهات رایج هنگام تغییر Port SSH

اول Port 22 را می‌بندیم

بدترین ترتیب ممکن است.

اول Port جدید را آماده و Test کنید؛ بعد Port قدیمی را ببندید.


فقط sshd_config را تغییر می‌دهیم

ممکن است UFW یا Cloud Firewall هنوز Port جدید را Block کند.

همیشه مسیر کامل را در نظر بگیرید:

Client
→ Cloud Firewall
→ Host Firewall
→ Listener
→ SSH Server

بعد از تغییر Config، sshd -t اجرا نمی‌کنیم

یک Typo می‌تواند باعث Start نشدن OpenSSH شود.

همیشه:

sudo sshd -t

را قبل از اعمال Configuration اجرا کنید.


Session فعلی را سریع می‌بندیم

تا زمانی که Terminal دوم با Port جدید Login نکرده:

Session قبلی را باز نگه دارید.


Port را تغییر می‌دهیم و فکر می‌کنیم SSH امن شده

Port غیر استاندارد جایگزین SSH Key، Firewall و Hardening واقعی نیست.


دستورات سریع تغییر پورت SSH در Ubuntu

اگر بخواهیم کل فرایند را خلاصه کنیم و فرض کنیم Port جدید 2222 است:

ابتدا Firewall:

sudo ufw allow 2222/tcp

Configuration:

sudo nano /etc/ssh/sshd_config.d/00-custom-port.conf

داخل فایل:

Port 2222

تست:

sudo sshd -t

بررسی Socket:

systemctl status ssh.socket

اگر Socket Activation فعال است:

sudo systemctl daemon-reload
sudo systemctl restart ssh.socket

در غیر این صورت:

sudo systemctl restart ssh

بررسی Listener:

sudo ss -tlnp | grep ':2222'

و از Terminal دوم:

ssh -p 2222 user@SERVER_IP

فقط اگر این Login موفق شد، سراغ حذف Port قبلی بروید.


جمع‌بندی

تغییر Port SSH کار سختی نیست؛ اما ترتیب انجام آن بسیار مهم است.

هدف این نیست که:

22

را هرچه سریع‌تر ببندیم.

هدف این است که یک مسیر اتصال جدید را کاملاً بسازیم، Verify کنیم و فقط بعد مسیر قبلی را حذف کنیم.

ترتیب امن:

New Port
↓
UFW
↓
Cloud Firewall
↓
OpenSSH Config
↓
sshd -t
↓
Apply
↓
Check Listener
↓
Test New Session
↓
Close Old Port

و یک نکته امنیتی را فراموش نکنید:

تغییر پورت SSH می‌تواند اسکن‌ها و تلاش‌های تصادفی روی Port 22 را کاهش دهد، اما جایگزین SSH Key، Firewall، Update و تنظیمات امنیتی صحیح نیست.

اگر بعد از تغییر Port با:

Connection refused

مواجه شدید، Listener و Service را بررسی کنید.

اگر:

Connection timed out

گرفتید، Firewall و Network Path را بررسی کنید.

و اگر:

Permission denied (publickey)

دیدید، Port جدید کار می‌کند و مشکل به Authentication مربوط است.


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

پورت پیش‌فرض SSH چیست؟

OpenSSH به‌صورت معمول از TCP Port 22 استفاده می‌کند، مگر اینکه Configuration دیگری برای Server تعیین شده باشد.

چگونه پورت SSH را در Ubuntu تغییر دهیم؟

Port جدید را ابتدا در Firewall باز کنید، سپس Directive مربوط به Port را در Configuration OpenSSH تنظیم کنید، با sshd -t Config را تست کنید، Service یا ssh.socket را متناسب با سیستم اعمال کنید و در نهایت از Terminal جداگانه Login را تست کنید.

آیا تغییر Port SSH امنیت را بیشتر می‌کند؟

به‌تنهایی یک مکانیزم امنیتی قوی نیست. این کار بیشتر می‌تواند Noise اسکن‌های خودکار روی Port 22 را کاهش دهد. SSH Key، Firewall، Updateها و محدودکردن دسترسی اهمیت بیشتری دارند.

بعد از تغییر پورت چرا SSH هنوز روی 22 است؟

در Ubuntuهای جدید ممکن است ssh.socket فعال باشد یا Configuration دیگری Port را تعیین کند. وضعیت ssh.socket، خروجی sshd -T و Listenerهای واقعی با ss را بررسی کنید.

چگونه با پورت جدید SSH وصل شویم؟

از -p استفاده کنید:

ssh -p 2222 user@SERVER_IP

آیا قبل از تغییر Port باید Port 22 را ببندیم؟

خیر. Port جدید را ابتدا کاملاً تنظیم و تست کنید و فقط بعد از Login موفق روی Port جدید، Port قبلی را ببندید.

چطور بفهمیم SSH روی پورت جدید Listen می‌کند؟

مثلاً برای Port 2222:

sudo ss -tlnp | grep ':2222'

و برای Configuration مؤثر:

sudo sshd -T | grep -i '^port'

علیرضا عزیزی

نویسنده مقالات تخصصی و آموزشی در وبلاگ نتزو.

مشاهده تمام مقالات این نویسنده

مقالات مرتبط و پیشنهادی