دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
دانشنامه مارال هاست دانشنامه مارال هاست
دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
امنیت
  • Folder icon closed Folder open iconCIA Triad چیست؟ آشنایی با سه اصل اساسی امنیت اطلاعات
  • Folder icon closed Folder open iconAttack Surface چیست؟ آشنایی با سطح حمله در امنیت سایبری
  • Folder icon closed Folder open iconThreat چیست؟ آشنایی با مفهوم تهدید در امنیت سایبری
  • Folder icon closed Folder open iconVulnerability چیست؟ آشنایی با آسیب‌پذیری در امنیت سایبری
  • Folder icon closed Folder open iconExploit چیست؟ آشنایی با مفهوم اکسپلویت در امنیت سایبری
  • Folder icon closed Folder open iconRisk چیست؟ آشنایی با مفهوم ریسک در امنیت سایبری
  • Folder icon closed Folder open iconCVE چیست؟ آشنایی با سیستم شماره‌گذاری آسیب‌پذیری‌های امنیتی
  • Folder icon closed Folder open iconCVSS چیست؟ آشنایی با سیستم امتیازدهی آسیب‌پذیری‌های امنیتی
  • Folder icon closed Folder open iconبعد از خرید سرور مجازی لینوکس(VPS)، اولین کارهایی که باید انجام دهید
  • Folder icon closed Folder open iconآموزش تغییر Hostname سرور در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم صحیح Timezone و NTP در لینوکس
  • Folder icon closed Folder open iconآموزش بروزرسانی کامل سیستم‌عامل لینوکس همه توزیع ها
  • Folder icon closed Folder open iconآموزش ساخت کاربر جدید و حذف استفاده روزمره از Root در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم صحیح sudo در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم Banner ورود به SSH در لینوکس
  • Folder icon closed Folder open iconآموزش مدیریت Password Policy در لینوکس
  • Folder icon closed Folder open iconآموزش نصب و راه‌اندازی SSH Key Authentication در لینوکس
  • Folder icon closed Folder open iconآموزش غیرفعال کردن ورود مستقیم Root از طریق SSH
  • Folder icon closed Folder open iconتغییر پورت SSH؛ آیا واقعاً امنیت سرور را افزایش می‌دهد؟
  • Folder icon closed Folder open iconآموزش محدود کردن کاربران مجاز SSH در لینوکس
  • Folder icon closed Folder open iconآموزش محدود کردن دسترسی SSH بر اساس IP در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم LoginGraceTime در SSH؛ کاهش زمان انتظار برای احراز هویت
  • Folder icon closed Folder open iconآموزش تنظیم MaxAuthTries در SSH؛ محدود کردن تعداد تلاش‌های ورود ناموفق
  • Folder icon closed Folder open iconآموزش بررسی لاگ‌های SSH در لینوکس
  • Folder icon closed Folder open iconآموزش عیب‌یابی مشکلات SSH در لینوکس
  • Folder icon closed Folder open iconآموزش کامل UFW در لینوکس؛ راه‌اندازی، مدیریت و ایمن‌سازی فایروال سرور
  • Folder icon closed Folder open iconnftables چیست؟ آشنایی با فایروال نسل جدید لینوکس و جایگزین iptables
  • Folder icon closed Folder open iconآموزش کامل Firewalld در لینوکس
  • Folder icon closed Folder open iconآموزش کامل ConfigServer Security & Firewall (CSF)
  • Folder icon closed Folder open iconآموزش مشاهده Loginهای اخیر در لینوکس
  • Folder icon closed Folder open iconآموزش بررسی پردازش‌های مشکوک در لینوکس
  • Folder icon closed Folder open iconآموزش بررسی Cron Jobهای مشکوک در لینوکس
  • Folder icon closed Folder open iconآموزش کامل Fail2Ban در لینوکس؛ نصب و راه‌اندازی
  • Folder icon closed Folder open iconآموزش نصب RKHunter در لینوکس
  • Folder icon closed Folder open iconآموزش نصب Chkrootkit در لینوکس
  • Folder icon closed Folder open iconآموزش اسکن سرور با RKHunter و Chkrootkit
  • Folder icon closed Folder open iconآموزش نصب، پیکربندی و اسکن سرور با AIDE در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، پیکربندی و استفاده از Auditd در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، اسکن و تحلیل امنیت سرور با Lynis در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، بروزرسانی و اسکن سرور با ClamAV در لینوکس
  • Folder icon closed Folder open iconآموزش Hardening وب‌سرور Nginx
  • Folder icon closed Folder open iconآموزش Hardening وب‌سرور Apache
  • Folder icon closed Folder open iconآموزش Hardening PHP
  • Folder icon closed Folder open iconآموزش Hardening پایگاه داده MySQL
  • Folder icon closed Folder open iconآموزش Hardening سرویس Redis
  • Folder icon closed Folder open iconآموزش Hardening سرویس Docker
  • Folder icon closed Folder open iconآموزش Hardening سرویس FTP
امنیت

آموزش عیب‌یابی مشکلات SSH در لینوکس

آموزش عیب‌یابی مشکلات SSH در لینوکس

مقدمه

SSH یکی از مهم‌ترین سرویس‌های هر سرور لینوکسی است و تقریباً تمام عملیات مدیریت سرور از طریق آن انجام می‌شود. به همین دلیل، قطع شدن دسترسی SSH می‌تواند مدیریت سرور را با مشکل جدی مواجه کند.

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

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


قبل از هر تغییری

یکی از مهم‌ترین توصیه‌ها هنگام تغییر تنظیمات SSH این است:

هرگز نشست (Session) فعلی SSH را نبندید.

ابتدا یک اتصال جدید ایجاد کنید و مطمئن شوید همه چیز به‌درستی کار می‌کند، سپس نشست قبلی را ببندید.

این کار از قفل شدن دسترسی شما به سرور جلوگیری می‌کند.


بررسی وضعیت سرویس SSH

اولین قدم، بررسی فعال بودن سرویس SSH است.

در Ubuntu و Debian:

sudo systemctl status ssh

در AlmaLinux، Rocky Linux و RHEL:

sudo systemctl status sshd

اگر سرویس متوقف شده باشد، ابتدا علت توقف را بررسی کنید.


راه‌اندازی مجدد سرویس

در Ubuntu و Debian:

sudo systemctl restart ssh

در AlmaLinux و Rocky Linux:

sudo systemctl restart sshd

بررسی فایل تنظیمات

قبل از Restart کردن سرویس، همیشه فایل تنظیمات را بررسی کنید.

sudo sshd -t

اگر هیچ خروجی نمایش داده نشود، یعنی فایل تنظیمات صحیح است.

اگر خطایی وجود داشته باشد، شماره خط نیز نمایش داده می‌شود.


بررسی فعال بودن پورت SSH

برای مشاهده اینکه SSH روی چه پورتی در حال اجرا است:

ss -tlnp | grep ssh

یا:

ss -tlnp | grep sshd

نمونه خروجی:

LISTEN 0 128 0.0.0.0:22

یا:

LISTEN 0 128 0.0.0.0:2222

اگر هیچ خروجی مشاهده نشد، سرویس SSH در حال گوش دادن نیست.


بررسی باز بودن پورت

از کامپیوتر خود می‌توانید اتصال را آزمایش کنید.

nc -zv SERVER_IP 22

یا اگر پورت تغییر کرده است:

nc -zv SERVER_IP 2222

بررسی فایروال

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

sudo ufw status

در Firewalld:

sudo firewall-cmd --list-all

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


بررسی SELinux

در توزیع‌های مبتنی بر RHEL:

getenforce

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

برای مشاهده پورت‌های مجاز:

sudo semanage port -l | grep ssh

در صورت نیاز:

sudo semanage port -a -t ssh_port_t -p tcp 2222

اگر دستور semanage وجود نداشت، بسته زیر را نصب کنید:

sudo dnf install policycoreutils-python-utils

بررسی لاگ‌های SSH

در Ubuntu و Debian:

sudo tail -f /var/log/auth.log

در AlmaLinux و Rocky Linux:

sudo tail -f /var/log/secure

همچنین می‌توانید از journalctl استفاده کنید.

Ubuntu:

sudo journalctl -u ssh -f

RHEL:

sudo journalctl -u sshd -f

اتصال با حالت Debug

برای مشاهده جزئیات اتصال:

ssh -v username@SERVER_IP

اطلاعات بیشتر:

ssh -vv

و کامل‌ترین حالت:

ssh -vvv

این خروجی معمولاً دلیل اصلی خطا را مشخص می‌کند.


خطای Connection Refused

اگر پیام زیر را مشاهده کردید:

Connection refused

معمولاً یکی از موارد زیر رخ داده است:

  • سرویس SSH اجرا نمی‌شود.
  • پورت اشتباه است.
  • فایروال اتصال را مسدود کرده است.
  • SSH روی آن پورت Listen نمی‌کند.

خطای Connection Timed Out

نمونه:

Connection timed out

دلایل رایج:

  • پورت در فایروال بسته است.
  • مسیر شبکه مشکل دارد.
  • Security Group سرویس ابری بسته است.
  • IP یا پورت اشتباه وارد شده است.

خطای Permission Denied

نمونه:

Permission denied (publickey)

یا

Permission denied (password)

دلایل رایج:

  • کلید SSH اشتباه است.
  • فایل authorized_keys مشکل دارد.
  • مجوزهای پوشه .ssh صحیح نیست.
  • Password Authentication غیرفعال شده است.

بررسی مجوزهای فایل‌های SSH

برای کاربر:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

همچنین مالک فایل‌ها باید صحیح باشد:

chown -R username:username ~/.ssh

بررسی فایل authorized_keys

بررسی کنید فایل زیر وجود داشته باشد:

~/.ssh/authorized_keys

و کلید عمومی شما داخل آن قرار گرفته باشد.


بررسی تنظیمات sshd_config

برخی از مهم‌ترین گزینه‌ها:

PubkeyAuthentication yes

PasswordAuthentication no

PermitRootLogin no

AllowUsers

AllowGroups

Port

LoginGraceTime

MaxAuthTries

گاهی فقط یک مقدار اشتباه باعث قطع کامل دسترسی می‌شود.


اگر بعد از تغییر تنظیمات دیگر وارد سرور نشدیم

در این شرایط معمولاً باید از یکی از روش‌های زیر استفاده کنید:

  • کنسول مدیریتی VPS
  • KVM
  • Rescue Mode
  • Console ارائه‌دهنده سرویس

از طریق این روش‌ها می‌توانید فایل sshd_config را اصلاح کنید.

آموزش عیب‌یابی مشکلات SSH در لینوکس

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

  • تغییر هم‌زمان چند تنظیم امنیتی
  • بستن نشست فعلی قبل از تست اتصال جدید
  • فراموش کردن باز کردن پورت جدید در فایروال
  • غیرفعال کردن Password Authentication قبل از راه‌اندازی SSH Key
  • اشتباه در مجوز فایل‌های .ssh
  • تغییر پورت بدون اعمال تنظیمات در SELinux

بهترین روش عیب‌یابی

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

  1. بررسی وضعیت سرویس SSH
  2. بررسی فایل sshd_config
  3. اجرای sshd -t
  4. بررسی فایروال
  5. بررسی لاگ‌های SSH
  6. تست اتصال با ssh -vvv
  7. بررسی فایل authorized_keys
  8. بررسی مجوزهای فایل‌های SSH
  9. بررسی SELinux (در صورت فعال بودن)

چک‌لیست

در زمان عیب‌یابی SSH، موارد زیر را بررسی کنید:

  • سرویس SSH فعال است.
  • فایل تنظیمات بدون خطا است.
  • پورت صحیح در حال Listen است.
  • فایروال پورت را مسدود نکرده است.
  • کلید SSH صحیح است.
  • مجوز فایل‌های .ssh درست است.
  • لاگ‌های SSH بررسی شده‌اند.
  • نشست فعلی تا پایان تست باز نگه داشته شده است.
آموزش عیب‌یابی مشکلات SSH در لینوکس

جمع‌بندی

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

با استفاده از ابزارهایی مانند systemctl، sshd -t، journalctl، ss و ssh -vvv می‌توان علت اکثر مشکلات را در مدت کوتاهی شناسایی کرد. همچنین، حفظ یک نشست SSH فعال تا پایان آزمایش تغییرات، یکی از مهم‌ترین اقداماتی است که از قفل شدن دسترسی به سرور جلوگیری می‌کند.

کیان پور

هنوز نیاز به کمک دارید؟

آیا سوالی دارید؟

آیا این مقاله برای شما مفید بود؟ بله خیر

مقالات مرتبط

  • آموزش غیرفعال کردن ورود مستقیم Root از طریق SSH
  • بررسی وضعیت سیستم و شناسایی نفوذ سطح root
  • نحوه امن‌سازی SSH
  • مسدود کردن دسترسی به یک دامنه از مناطق جغرافیایی مشخص در سی‌پنل
  • Attack Surface چیست؟ آشنایی با سطح حمله در امنیت سایبری
  • CIA Triad چیست؟ آشنایی با سه اصل اساسی امنیت اطلاعات
  • چگونه حملات Slowloris را کاهش دهیم
  • سطوح امنیتی قدیمی(Legacy Security Levels)
  • Threat چیست؟ آشنایی با مفهوم تهدید در امنیت سایبری
  • چگونه پیچیدگی Password را تعیین کنیم
  • راهنمای پیکربندی Microsoft Windows برای استفاده از TLS نسخه ۱.۲
  • آموزش نصب RKHunter در لینوکس
  • مفاهیم پایه امنیت
  • راهنمای تنظیمات SSL در cPanel & WHM
  • آموزش تنظیم MaxAuthTries در SSH؛ محدود کردن تعداد تلاش‌های ورود ناموفق
  • آموزش بررسی لاگ‌های SSH در لینوکس
  • آموزش نصب و راه‌اندازی SSH Key Authentication در لینوکس
  • مجموعه قوانین اصلی OWASP ModSecurity
  • آموزش تنظیم LoginGraceTime در SSH؛ کاهش زمان انتظار برای احراز هویت
  • آموزش محدود کردن دسترسی SSH بر اساس IP در لینوکس
  • تغییر پورت SSH؛ آیا واقعاً امنیت سرور را افزایش می‌دهد؟
  • آموزش نصب Chkrootkit در لینوکس
  • مدیریت cpHulk از طریق ترمینال
  • آموزش کامل ConfigServer Security & Firewall (CSF)
  • امنیت دانلود در cPanel & WHM
  • مشاهده بیشتر

مطالب اخیراً بازدیدشده

  • اتصال ریموت به MYSQL از طریق برنامه SQLYOG
  • مشاهده بیشتر

نظرات خود را بنویسید... لغو پاسخ

اشتراک گذاری این مقاله

آموزش عیب‌یابی مشکلات SSH در لینوکس

کپی کردن لینک

Clipboard Icon

جدیدترین مقالات

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی ...
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

تقویم

آگوست 2026
شیدسچپج
1234567
891011121314
15161718192021
22232425262728
293031 
« جولای    

عضویت

جدیدترین پست‌ها

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی Ubuntu 24.04
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

سلام