مجله ایرانیکاسرور آموزش سرور، هاست، وردپرس و شبکه پنل کاربری

SSH وصل می‌شود اما بلافاصله قطع می‌شود؛ ۱۰ علت و راه‌حل

SSH وصل می‌شود اما بلافاصله قطع می‌شود؟ ۱۰ علت رایج و راه‌حل قطعی یکی از آزاردهنده‌ترین مشکلات هنگام مدیریت سرور مجازی این است که همه‌چیز در نگاه اول درست به نظر می‌رسد؛ پورت SSH…

✍ mahan 📅 25 شهریور 1405 ⏱ 16 دقیقه مطالعه 👁 13 بازدید 💬 0 دیدگاه

فهرست مطالب

SSH وصل می‌شود اما بلافاصله قطع می‌شود؟ ۱۰ علت رایج و راه‌حل قطعی

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

ممکن است چیزی شبیه این مشاهده کنید:

ssh root@SERVER-IP
Last login: …
Connection to SERVER-IP closed.

یا اتصال بدون نمایش خطای مشخصی بسته شود:

Connection closed by SERVER-IP

در بعضی شرایط نیز کاربر حتی برای چند ثانیه وارد محیط سرور می‌شود و سپس ارتباط قطع می‌شود. این مشکل لزوماً به معنی خراب بودن SSH یا بسته بودن پورت نیست.

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

در این مقاله ۱۰ علت رایج قطع شدن سریع اتصال SSH را بررسی می‌کنیم و برای هرکدام راه‌حل عملی ارائه می‌دهیم.

منظور از «SSH وصل می‌شود اما قطع می‌شود» چیست؟

مشکل مورد بحث با خطای Connection refused یا Connection timed out تفاوت دارد. در این حالت معمولاً اتفاقی شبیه این رخ می‌دهد:

🔹 Client به Server IP متصل می‌شود
🔹 پورت SSH پاسخ می‌دهد
🔹 احراز هویت (Authentication) انجام می‌شود
🔹 Login موفق می‌شود
🔹 اما Connection Closed رخ می‌دهد

یعنی حداقل بخشی از مراحل اولیه SSH با موفقیت انجام شده است. برای مثال ممکن است رمز عبور قبول شود و سپس پیام Connection closed نمایش داده شود. این تفاوت برای عیب‌یابی بسیار مهم است.

اولین کاری که باید انجام دهید: اجرای SSH با حالت Verbose

قبل از اینکه تنظیمات سرور را تصادفی تغییر دهید، بهتر است ببینید SSH دقیقاً در کدام مرحله قطع می‌شود. در سیستم کلاینت این دستور را اجرا کنید:

ssh -v user@SERVER-IP

اگر اطلاعات بیشتری لازم بود:

ssh -vv user@SERVER-IP

و در صورت نیاز جزئیات بسیار بیشتر:

ssh -vvv user@SERVER-IP

گزینه -v برای نمایش اطلاعات عیب‌یابی SSH استفاده می‌شود. برای مثال ممکن است در خروجی ببینید debug1: Authentication succeeded و چند خط بعد Connection to SERVER-IP closed. در این شرایط احراز هویت موفق شده و باید بیشتر روی Shell، تنظیمات کاربر و سرویس SSH تمرکز کنیم.

لاگ‌های SSH را جدی بگیرید

یکی از بهترین منابع برای پیدا کردن علت این مشکل، لاگ‌های خود سرور است. بسته به توزیع لینوکس، محل لاگ می‌تواند متفاوت باشد. در Ubuntu و Debian:

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

در سیستم‌های RHEL، AlmaLinux و Rocky Linux معمولاً:

sudo tail -f /var/log/secure

همچنین در سیستم‌هایی که از systemd استفاده می‌کنند:

sudo journalctl -u ssh
sudo journalctl -u sshd
sudo journalctl -u ssh –since “10 minutes ago”

علت اول: Shell کاربر مشکل دارد

یکی از دلایل مهمی که گاهی نادیده گرفته می‌شود، Shell کاربر است. هر کاربر لینوکس یک Shell پیش‌فرض دارد. برای مشاهده Shell کاربر:

getent passwd username
cat /etc/passwd | grep username
ls -l /bin/bash

مثلاً ممکن است خروجی چیزی شبیه این باشد:

username:x:1001:1001::/home/username:/bin/bash

قسمت آخر مشخص می‌کند Shell کاربر چیست. اگر Shell کاربر اشتباه باشد یا فایل Shell وجود نداشته باشد، ممکن است SSH احراز هویت را انجام دهد اما بعد از آن نتواند محیط کاربری را اجرا کند. اگر Shell کاربر به چیزی مانند /usr/sbin/nologin یا /bin/false تغییر کرده باشد، طبیعی است که کاربر نتواند یک Session معمولی SSH داشته باشد.

راه‌حل

اگر کاربر باید Shell معمولی داشته باشد، می‌توانید Shell او را اصلاح کنید:

sudo chsh -s /bin/bash username
⚠️ اگر حساب عمداً برای سرویس خاصی با nologin یا Shell محدود ساخته شده باشد، نباید بدون بررسی آن را تغییر دهید.

علت دوم: فایل .bashrc یا .profile مشکل دارد

گاهی SSH کاملاً سالم است اما بلافاصله بعد از ورود، یکی از فایل‌های Startup کاربر باعث خروج Shell می‌شود. برای Bash فایل‌هایی مانند ~/.bashrc، ~/.profile و ~/.bash_profile می‌توانند هنگام ورود اجرا شوند. فرض کنید در .bashrc اشتباهاً دستوری مانند exit قرار گرفته باشد. در این صورت کاربر وارد SSH می‌شود، Bash اجرا می‌شود و بلافاصله Session بسته می‌شود.

چگونه این مشکل را بررسی کنیم؟

به‌جای ورود معمولی، یک Shell مشخص اجرا کنید:

ssh username@SERVER-IP /bin/bash
ssh username@SERVER-IP “echo TEST”

اگر این دستورها کار کنند اما ورود معمولی باعث قطع اتصال شود، احتمال مشکل در فایل‌های Startup بیشتر می‌شود. سپس فایل‌های زیر را بررسی کنید و دنبال دستورات غیرعادی مانند exit، logout یا اسکریپت‌هایی که در صورت خطا Session را می‌بندند، بگردید:

nano ~/.bashrc
nano ~/.profile
cat ~/.bash_profile
cat ~/.bash_login

علت سوم: در sshd_config از ForceCommand استفاده شده است

یکی دیگر از علت‌های کمتر شناخته‌شده، استفاده از تنظیم ForceCommand در تنظیمات SSH است. این گزینه می‌تواند باعث شود SSH به‌جای Shell معمولی، یک دستور مشخص را اجرا کند:

ForceCommand /usr/local/bin/custom-script.sh

اگر این اسکریپت بعد از اجرا خارج شود، Session SSH نیز ممکن است بلافاصله بسته شود. برای جستجو:

sudo grep -Rni “ForceCommand” /etc/ssh/
sudo grep -n “ForceCommand” /etc/ssh/sshd_config
⚠️ در بعضی سرورها این گزینه عمداً برای محدود کردن کاربران یا اجرای محیط‌های خاص استفاده می‌شود. پس نباید بدون بررسی آن را حذف کنید.

علت چهارم: کاربر اجازه اجرای Shell ندارد

گاهی حساب کاربری عمداً یا به‌صورت اشتباه به Shell محدود شده است:

username:x:1001:1001::/home/username:/usr/sbin/nologin
username:x:1001:1001::/home/username:/bin/false

در این حالت کاربر نمی‌تواند یک Shell عادی دریافت کند. اگر کاربر باید SSH تعاملی داشته باشد:

sudo chsh -s /bin/bash username

علت پنجم: Fail2Ban یا سیستم امنیتی IP شما را مسدود می‌کند

اگر اتصال SSH برقرار می‌شود اما بلافاصله قطع می‌شود، یکی از مواردی که باید بررسی شود سیستم‌های امنیتی سرور است. مواردی مانند Fail2Ban، CSF/LFD، Firewall، CrowdSec، فایروال دیتاسنتر و سیستم‌های امنیتی پنل مدیریت سرور ممکن است IP شما را به‌دلیل چند تلاش ناموفق مسدود کنند.

sudo fail2ban-client status
sudo fail2ban-client status sshd
sudo fail2ban-client set sshd unbanip YOUR-IP

نام Jail را باید مطابق تنظیمات واقعی سرور انتخاب کنید.

سرور مجازی پایدار، بدون قطعی SSH و با پشتیبانی واقعی

اگر از قطع شدن‌های مکرر SSH، کندی سرور و مشکلات مدیریتی خسته شده‌اید، وقت آن است که به یک سرور مجازی حرفه‌ای مهاجرت کنید. ایرانیکاسرور با منابع اختصاصی CPU و RAM، دیسک NVMe، پهنای باند نامحدود، آپ‌تایم بالا و پشتیبانی ۲۴ ساعته، تجربه‌ای پایدار و بدون دردسر را برای شما فراهم می‌کند.

91302467 – 021 | ایرانیکاسرور

علت ششم: محدودیت‌های SSH مانند MaxStartups

OpenSSH برای کنترل تعداد اتصال‌های هم‌زمان، تنظیماتی مانند MaxStartups دارد. اگر تعداد زیادی اتصال هم‌زمان به SSH ایجاد شود، ممکن است برخی اتصال‌ها رد یا قطع شوند. برای بررسی:

sudo sshd -T | grep -i maxstartups
sudo sshd -T | grep -i maxauthtries

علت هفتم: مشکل منابع VPS

گاهی مشکل اصلاً SSH نیست. اگر VPS با کمبود شدید منابع مواجه شده باشد، سرویس‌ها ممکن است رفتار غیرعادی داشته باشند. مواردی مانند RAM تمام شده، نبود Swap، درگیر بودن شدید CPU، پر شدن دیسک، تمام شدن Inodeها، فعال شدن OOM Killer و تعداد بیش از حد Processها می‌توانند روی Login و اجرای Shell تأثیر بگذارند.

free -h
uptime
top
df -h
df -i

اگر مثلاً / به ۱۰۰ درصد رسیده باشد، این موضوع می‌تواند مشکلات مختلفی ایجاد کند. گاهی فضای دیسک خالی است اما تعداد Inodeها تمام شده است.

علت هشتم: Home Directory کاربر مشکل دارد

وقتی کاربر وارد SSH می‌شود، Shell معمولاً به Home Directory او منتقل می‌شود. اگر این مسیر وجود نداشته باشد، Permissionهای آن خراب باشند یا فایل‌های ضروری داخل آن مشکل داشته باشند، Session ممکن است رفتار غیرعادی داشته باشد.

getent passwd username
ls -ld /home/username

انتظار داریم چیزی شبیه drwx—— username username /home/username ببینیم. البته Permission مناسب به ساختار سرور بستگی دارد.

علت نهم: SELinux یا AppArmor مانع اجرای Shell شده است

در بعضی توزیع‌های لینوکس، سیستم‌های امنیتی مانند SELinux و AppArmor می‌توانند اجرای برخی عملیات را محدود کنند. اگر مشکل بعد از تغییر تنظیمات امنیتی، نصب نرم‌افزار یا تغییر Permissionها ایجاد شده است، این بخش ارزش بررسی دارد.

getenforce
sudo ausearch -m avc -ts recent
⚠️ توصیه نمی‌شود صرفاً برای حل مشکل، SELinux را خاموش کنید. ابتدا باید علت واقعی محدودیت مشخص شود.

علت دهم: مشکل در Shell یا محیط اجرای کاربر

گاهی Bash یا Shell مورد استفاده کاربر به دلیل تغییر فایل‌های سیستمی، نصب ناقص نرم‌افزار، Permission اشتباه، حذف فایل‌های ضروری، تغییر لینک‌های سیستم یا تنظیمات اشتباه درست اجرا نمی‌شود.

ls -l /bin/bash
/bin/bash –version

همچنین می‌توانید از Console سرور مستقیماً Bash را اجرا کنید. اگر /bin/bash نیز بلافاصله خارج شود یا خطای غیرعادی بدهد، مشکل احتمالاً مربوط به Shell یا محیط سیستم است و نه اتصال شبکه SSH.

یک علت مهم دیگر: دستور خروج در .bash_profile

گاهی کاربران فقط .bashrc را بررسی می‌کنند، در حالی که Bash ممکن است فایل‌های دیگری را نیز هنگام Login اجرا کند. بسته به نوع Session و تنظیمات سیستم، فایل‌هایی مانند ~/.bash_profile، ~/.bash_login، ~/.profile و ~/.bashrc می‌توانند نقش داشته باشند.

ls -la ~
cat ~/.bash_profile
cat ~/.bash_login
cat ~/.profile
cat ~/.bashrc

اگر فقط root قطع می‌شود ولی کاربر معمولی وارد می‌شود چه؟

این نکته بسیار مهم است. اگر root قطع می‌شود اما admin وارد می‌شود، مشکل احتمالاً عمومی نیست. در این شرایط باید تنظیمات مربوط به root را بررسی کنید:

sudo sshd -T | grep -i permitrootlogin
getent passwd root
sudo passwd -S root

اگر فقط یک کاربر قطع می‌شود چه؟

اگر root و admin وارد می‌شوند اما کاربر test با پیام Connection closed مواجه می‌شود، مشکل احتمالاً مربوط به خود آن کاربر است. موارد زیر را بررسی کنید:

getent passwd test
ls -l /bin/bash
ls -ld /home/test
ls -la /home/test
cat /home/test/.bashrc

اگر همه کاربران SSH قطع می‌شوند چه؟

اگر تمام کاربران بعد از Login قطع می‌شوند، احتمال مشکل در تنظیمات عمومی SSH یا سیستم بیشتر است. در این حالت ابتدا این موارد را بررسی کنید:

sudo sshd -t
sudo systemctl status ssh
sudo systemctl status sshd
sudo journalctl -u ssh -n 100 –no-pager
sudo tail -n 100 /var/log/auth.log
sudo tail -n 100 /var/log/secure

اگر SSH از ویندوز قطع می‌شود ولی از Linux وصل است چه؟

اگر از یک کلاینت لینوکس یا macOS می‌توانید وارد شوید ولی از Windows اتصال بلافاصله قطع می‌شود، باید سمت کلاینت را نیز بررسی کنید. در Windows PowerShell خروجی Verbose را بررسی کنید و اگر از PuTTY استفاده می‌کنید، لاگ Session را فعال کنید. این کار کمک می‌کند بفهمید مشکل از کلاینت، کلید SSH، الگوریتم‌های رمزنگاری، Agent یا تنظیمات SSH Client است یا از سرور.

اگر SSH بعد از چند ثانیه قطع می‌شود چه؟

اگر اتصال بلافاصله قطع نمی‌شود و مثلاً بعد از ۱۰، ۳۰ یا ۶۰ ثانیه ارتباط از بین می‌رود، موضوع کمی متفاوت است. در این حالت باید مواردی مانند Network instability، NAT، Firewall، VPN، Idle timeout، KeepAlive، مسیر شبکه و Load Balancer را نیز بررسی کنید.

ssh -o ServerAliveInterval=30 username@SERVER-IP

این گزینه برای بعضی مشکلات مربوط به ارتباط‌های idle مفید است. اما اگر Session بلافاصله بعد از Login بسته می‌شود، معمولاً مشکل اصلی جای دیگری است.

چگونه بفهمیم مشکل از شبکه است یا Shell؟

یک تست بسیار مفید این است که به جای باز کردن Shell، یک دستور ساده اجرا کنیم:

ssh username@SERVER-IP “echo HELLO”
ssh username@SERVER-IP /bin/bash

اگر خروجی HELLO نمایش داده شود و اتصال بسته شود، این رفتار برای یک اجرای تک‌دستوری طبیعی است. اما اگر ورود معمولی باعث قطع شدن شود و اجرای دستورهای ساده رفتار متفاوتی داشته باشد، احتمال مشکل در Interactive Shell یا فایل‌های Startup بیشتر می‌شود.

چطور لاگ SSH را هم‌زمان با اتصال مشاهده کنیم؟

این یکی از بهترین روش‌های عیب‌یابی است. در Terminal اول روی سرور:

sudo journalctl -f

در Terminal دوم از کامپیوتر خود:

ssh -vvv username@SERVER-IP

حالا وقتی اتصال قطع شد، به Terminal اول نگاه کنید. ممکن است خطاهایی مانند Failed password، Connection closed، session closed یا خطاهای مربوط به PAM، Shell یا Permission مشاهده کنید. این اطلاعات معمولاً بسیار ارزشمندتر از حدس زدن علت مشکل است.

PAM چه نقشی در قطع شدن SSH دارد؟

SSH در بسیاری از سیستم‌های لینوکسی از PAM برای احراز هویت و مدیریت Session استفاده می‌کند. بنابراین مشکلات PAM نیز می‌توانند باعث شوند Login انجام شود اما Session درست ایجاد نشود. تنظیمات مرتبط ممکن است در مسیرهایی مانند /etc/pam.d/ قرار داشته باشند.

⚠️ در صورت مشاهده خطاهای PAM در لاگ SSH، نباید فایل‌های PAM را بدون بررسی تغییر دهید. یک تغییر اشتباه در PAM می‌تواند دسترسی کاربران به سیستم را مختل کند.

آیا Permission اشتباه می‌تواند باعث قطع شدن SSH شود؟

بله. Permissionها و مالکیت اشتباه در مسیرهایی مانند /home/user یا فایل‌های کلیدی SSH می‌توانند باعث مشکل شوند. برای بررسی:

ls -la ~/.ssh
ls -la ~/.ssh/authorized_keys
stat ~/.ssh
stat ~/.ssh/authorized_keys

در SSH Key Authentication، Permissionهای نادرست نیز ممکن است باعث رد شدن کلید شوند.

آیا پر شدن دیسک می‌تواند SSH را قطع کند؟

بله. این مورد بسیار مهم است و اغلب فراموش می‌شود. بررسی کنید:

df -h
df -i

اگر / یا /var پر شده باشد، مشکلات مختلفی ممکن است ایجاد شوند. اگر Inodeها تمام شده باشند، حتی با وجود فضای خالی ممکن است ایجاد فایل‌های جدید امکان‌پذیر نباشد.

یک روش سریع برای عیب‌یابی SSH

اگر نمی‌خواهید ده‌ها دستور مختلف را پشت سر هم اجرا کنید، این ترتیب را دنبال کنید:

🔹 مرحله ۱: ssh -vvv user@SERVER-IP
🔹 مرحله ۲: بررسی Shell با getent passwd user
🔹 مرحله ۳: بررسی منابع با free -h، df -h، df -i، uptime
🔹 مرحله ۴: بررسی SSH با sudo sshd -t
🔹 مرحله ۵: وضعیت سرویس با sudo systemctl status ssh یا sshd
🔹 مرحله ۶: بررسی لاگ auth.log یا secure
🔹 مرحله ۷: بررسی journalctl -u ssh -n 100 –no-pager
🔹 مرحله ۸: بررسی fail2ban-client status
🔹 مرحله ۹: تست Shell مستقیم با ssh user@SERVER-IP /bin/bash
🔹 مرحله ۱۰: بررسی فایل‌های Startup مانند .bashrc و .profile

این ترتیب معمولاً بسیار سریع‌تر از تغییر تصادفی تنظیمات مختلف است.

اگر به SSH دسترسی نداریم چطور مشکل را حل کنیم؟

اگر SSH اصلاً اجازه ورود نمی‌دهد، باید از روش دسترسی دیگری استفاده کنید. بسته به ارائه‌دهنده VPS ممکن است امکاناتی مانند Web Console، VNC، KVM، Serial Console و Rescue Mode در اختیار شما باشد. برای VPSهایی که از طریق پنل مدیریت ارائه می‌شوند، Console می‌تواند در چنین شرایطی بسیار مهم باشد. اگر SSH خراب شده باشد، داشتن دسترسی Out-of-Band به سرور می‌تواند امکان اصلاح تنظیمات را بدون نیاز به SSH فراهم کند.

آیا Restart کردن SSH مشکل را حل می‌کند؟

گاهی اوقات ممکن است، اما نباید اولین راهکار باشد. اگر تنظیمات SSH تغییر کرده‌اند، ابتدا sudo sshd -t را اجرا کنید. اگر خطایی وجود نداشت، سرویس را Reload یا Restart کنید:

sudo systemctl reload ssh
sudo systemctl restart ssh

اما اگر دلیل قطع شدن Session مربوط به Shell، Home Directory، PAM یا منابع باشد، Restart کردن SSH مشکل اصلی را برطرف نمی‌کند.

اشتباه رایج: حذف کردن کامل sshd_config

اگر SSH مشکل پیدا کرده، هیچ‌وقت صرفاً به دلیل خطاهای ناشناخته، فایل /etc/ssh/sshd_config را حذف نکنید. همچنین توصیه نمی‌شود کل تنظیمات را بدون Backup جایگزین کنید. قبل از تغییر:

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

اشتباه رایج: بستن Session فعلی

اگر هنوز یک Session SSH فعال دارید و در حال عیب‌یابی SSH هستید، آن را نبندید. بهتر است همان Session را به‌عنوان مسیر نجات نگه دارید. این نکته مخصوصاً هنگام تغییر Port، sshd_config، Authentication، Firewall و Root Login بسیار مهم است.

جدول ۱۰ علت اصلی قطع شدن SSH

علت نشانه احتمالی راه بررسی
Shell خراب Login و قطع سریع getent passwd
.bashrc مشکل‌دار ورود و خروج فوری بررسی .bashrc
ForceCommand اجرای Shell عادی انجام نمی‌شود grep ForceCommand
nologin یا false Session ایجاد نمی‌شود /etc/passwd
Fail2Ban قطع یا مسدود شدن IP fail2ban-client
MaxStartups مشکل هنگام اتصال‌های زیاد sshd -T
RAM/CPU رفتار غیرعادی سیستم free, top, uptime
Disk Full خطاهای مختلف Session df -h
SELinux/AppArmor Permission یا Execution Denied لاگ امنیتی
PAM/تنظیمات SSH Login موفق ولی Session خراب journalctl و Auth Log

چک‌لیست نهایی رفع مشکل SSH

اگر SSH وصل می‌شود اما سریع قطع می‌شود، این موارد را به ترتیب بررسی کنید:

🔹 تست Verbose: ssh -vvv user@SERVER-IP
🔹 لاگ SSH: journalctl -u ssh -n 100 –no-pager
🔹 Shell کاربر: getent passwd user
🔹 تست Bash: ssh user@SERVER-IP /bin/bash
🔹 فایل‌های Startup: cat ~/.bashrc و cat ~/.profile
🔹 وضعیت منابع: free -h، df -h، df -i، uptime
🔹 تنظیمات SSH: sudo sshd -t
🔹 ForceCommand: sudo grep -Rni “ForceCommand” /etc/ssh/
🔹 Fail2Ban: sudo fail2ban-client status
🔹 SELinux: getenforce

مشکل SSH شما حل نشد؟ ما در کنار شما هستیم

اگر با وجود بررسی موارد بالا، همچنان اتصال SSH شما قطع می‌شود یا نیاز به تنظیمات تخصصی سرور دارید، تیم فنی ایرانیکاسرور آماده کمک به شماست. کافی است درخواست خود را ارسال کنید تا کارشناسان ما در سریع‌ترین زمان مشکل را بررسی و رفع کنند.

تماس با پشتیبانی: 91302467  | ایرانیکاسرور

جمع‌بندی

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

در چنین شرایطی مواردی مانند Shell کاربر، فایل‌های .bashrc و .profile، ForceCommand، تنظیمات PAM، Fail2Ban، محدودیت‌های SSH، منابع VPS، پر شدن دیسک، Permissionها و SELinux/AppArmor باید بررسی شوند.

بهترین روش عیب‌یابی این است که به جای تغییر تصادفی تنظیمات، ابتدا اطلاعات جمع‌آوری کنیم: ssh -vvv user@SERVER-IP و هم‌زمان روی سرور sudo journalctl -f یا لاگ SSH را مشاهده کنیم. این دو خروجی در بسیاری از موارد مشخص می‌کنند مشکل دقیقاً در کدام مرحله اتفاق می‌افتد.

مهم‌تر از همه، هنگام تغییر تنظیمات SSH همیشه یک Session فعال برای خودتان نگه دارید و قبل از Restart کردن SSH، صحت تنظیمات را با sshd -t بررسی کنید. اگر SSH وصل می‌شود اما بلافاصله قطع می‌شود، راه‌حل معمولاً در پیدا کردن علت قطع شدن Session است، نه صرفاً تغییر پورت یا نصب مجدد SSH.

سوالات متداول درباره قطع شدن SSH

چرا SSH وصل می‌شود اما بلافاصله قطع می‌شود؟

این مشکل معمولاً بعد از مرحله احراز هویت رخ می‌دهد و می‌تواند دلایلی مانند Shell خراب، فایل‌های Startup مشکل‌دار، ForceCommand، محدودیت منابع، Fail2Ban یا Permissionهای اشتباه داشته باشد.

چگونه بفهمم مشکل SSH از سرور است یا کلاینت؟

با اجرای ssh -vvv user@SERVER-IP می‌توانید مرحله دقیق قطع شدن را ببینید. اگر احراز هویت موفق شود و سپس قطع شود، مشکل سمت سرور است. اگر از یک کلاینت دیگر (مثلاً Linux) وصل می‌شوید، مشکل سمت کلاینت است.

آیا پر شدن دیسک می‌تواند باعث قطع SSH شود؟

بله. اگر پارتیشن / یا /var پر شده باشد یا Inodeها تمام شده باشند، ممکن است Session SSH نتواند به‌درستی ایجاد شود.

ForceCommand چیست و چگونه آن را بررسی کنم؟

ForceCommand تنظیمی در sshd_config است که به‌جای Shell معمولی یک دستور مشخص را اجرا می‌کند. با sudo grep -Rni “ForceCommand” /etc/ssh/ می‌توانید آن را پیدا کنید.

آیا Restart کردن SSH مشکل قطع شدن را حل می‌کند؟

گاهی اوقات، اما اگر علت اصلی Shell، Home Directory، PAM یا منابع باشد، Restart کردن SSH مشکل را برطرف نمی‌کند. ابتدا باید علت واقعی را پیدا کنید.

اگر به SSH دسترسی نداشته باشم چه کنم؟

می‌توانید از Web Console، VNC، KVM یا Rescue Mode ارائه‌دهنده VPS خود استفاده کنید. اگر این امکانات وجود نداشت، با پشتیبانی هاست خود تماس بگیرید.

برچسب‌ها:
AppArmor SSH auth.log Bash در لینوکس bash_profile bashrc bin false لینوکس Connection closed by IP Connection closed by server Connection closed SSH Fail2Ban SSH Firewall VPS ForceCommand SSH journalctl SSH MaxAuthTries SSH MaxStartups SSH nologin لینوکس Restart SSH secure log SELinux SSH Shell کاربر ssh -v ssh -vv ssh -vvv SSH AlmaLinux SSH CentOS SSH connection closed SSH connection drops SSH Debian SSH disconnect SSH disconnect after login SSH disconnects immediately SSH login problem SSH Rocky Linux SSH session closed SSH Ubuntu SSH verbose SSH بعد از لاگین قطع می‌شود SSH بعد از ورود قطع می‌شود SSH بلافاصله قطع می‌شود SSH قطع می‌شود SSH لینوکس SSH وصل نمی‌شود sshd sshd_config آموزش ssh -vvv آموزش امنیت SSH آموزش رفع مشکل SSH آموزش لینوکس آموزش مدیریت VPS اتصال SSH قطع می‌شود اتصال به سرور قطع می‌شود بررسی سرویس SSH بررسی لاگ SSH پر شدن دیسک VPS تنظیم sshd_config تنظیمات SSH تنظیمات SSH لینوکس حل مشکل SSH سرور مجازی حل مشکل اتصال SSH خطاهای سرور مجازی خطای Bash خطای SSH خطای sshd خطای اتصال SSH به سرور خطای ورود SSH رفع خطای سرور لینوکس رفع مشکل SSH رفع مشکل SSH لینوکس رفع مشکل VPS ریستارت SSH سرور مجازی لینوکس سرویس SSH سرویس sshd عیب یابی SSH عیب یابی VPS عیب یابی سرور لینوکس عیب یابی سرور مجازی ایران فایروال SSH قطع شدن SSH قطع شدن اتصال سرور کمبود RAM VPS لاگ SSH مدیریت VPS مدیریت سرور لینوکس مدیریت سرور مجازی ایران مشکل Bash مشکل bashrc مشکل Fail2Ban مشکل profile لینوکس مشکل RAM سرور مشکل Shell لینوکس مشکل SSH مشکل SSH AlmaLinux مشکل SSH CentOS مشکل SSH Debian مشکل SSH Rocky Linux مشکل SSH Ubuntu مشکل اتصال VPS مشکل اتصال به سرور مشکل سرور مجازی مشکل لاگین SSH مشکل ورود به SSH مشکل ورود به VPS مشکلات لینوکس وضعیت SSH
این آموزش برایت مفید بود؟ می‌توانی لینک آن را ذخیره یا برای دیگران ارسال کنی.

mahan

نویسنده مجله ایرانیکاسرور؛ منتشرکننده آموزش‌ها و راهنماهای کاربردی در حوزه هاست، سرور، وردپرس و شبکه.

برای اجرای آموزش به زیرساخت نیاز داری؟

سرویس مرتبط را ببین؛ معرفی خدمات در این بخش کوتاه نگه داشته شده تا تمرکز اصلی صفحه روی آموزش باقی بماند.

ایرانیکاسرور
برای ادامه یادگیری

مطالب مرتبط با این آموزش

مقاله‌هایی از دسته‌بندی‌ها یا برچسب‌های مرتبط برای اینکه مسیر مطالعه‌ات قطع نشود.

گفت‌وگو درباره آموزش

دیدگاه‌ها

0 دیدگاه برای این مطلب ثبت شده است.

هنوز دیدگاهی ثبت نشده است؛ اگر سؤال یا تجربه‌ای درباره این آموزش داری، همین‌جا بنویس. پاسخ‌های مدیریت و کاربران به‌صورت مشخص از هم تفکیک می‌شوند.

دیدگاه یا سؤال خود را بنویسید

ایمیل شما منتشر نمی‌شود. فیلدهای ضروری مشخص شده‌اند.