«Connection refused» یعنی بستهٔ شما به سرور رسیده ولی روی آن پورت سرویسی گوش نمیدهد (sshd متوقف است یا پورت عوض شده). «Connection timed out» یعنی پاسخی نمیرسد؛ معمولاً بهخاطر خاموش بودن سرور، فایروال، آیپی اشتباه یا اختلال مسیر شبکه. ابتدا آیپی و پورت را چک کنید، سپس وضعیت سرور را در پنل ببینید و در نهایت فایروال و سرویس SSH را بررسی کنید.
تفاوت timeout و refused در یک نگاه
| پیغام | معنی | محتملترین علتها |
|---|---|---|
| Connection refused | سرور در دسترس است ولی پورت بسته است | sshd متوقف، پورت SSH تغییر کرده، سرور در حال بوت |
| Connection timed out | پاسخی از سرور نمیرسد | سرور خاموش یا در حال ساخت، فایروال، آیپی اشتباه، اختلال مسیر |
| No route to host | مسیری به مقصد نیست | مشکل شبکهٔ محلی یا مسیر |
- هیچ پاسخی برنمیگردد
- فایروال بسته، آیپی اشتباه یا مسیر شبکه قطع
- سرور ممکن است خاموش باشد
- سرور پاسخ میدهد اما پورت بسته است
- sshd اجرا نیست یا پورت عوض شده
- سرور روشن است
ابزار تشخیص سریع
ping -c 4 SERVER_IP
nc -vz SERVER_IP 22
ssh -v root@SERVER_IP
خروجی ssh -v نشان میدهد اتصال در کدام مرحله متوقف شده است.
$ ping -c 3 203.0.113.10$ nc -vz 203.0.113.10 22Connection to 203.0.113.10 22 port [tcp/ssh] succeeded!$ ssh -v root@203.0.113.10$
۱۰ علت رایج و راهحل
۱. آیپی یا پورت اشتباه
آیپی را از پنل کپی کنید. اگر پورت SSH را تغییر دادهاید، آن را با -p مشخص کنید: ssh -p 2222 root@SERVER_IP.
۲. سرور هنوز در حال ساخت یا نصب سیستمعامل است
پس از ساخت یا نصب مجدد، نصب سیستمعامل چند دقیقه طول میکشد و SSH پاسخ نمیدهد. صبر کنید تا وضعیت سرور در پنل «فعال» شود.
۳. سرور خاموش یا متوقف است
وضعیت سرور را در پنل ببینید. اگر موجودی کیف پول تمام شده باشد، سرور متوقف میشود؛ با شارژ کیف پول در مهلت تعیینشده خودکار روشن میشود.
۴. فایروال UFW پورت SSH را بسته است
اگر به کنسول دسترسی دارید:
sudo ufw status
sudo ufw allow 22/tcp
همیشه پیش از فعال کردن UFW، پورت SSH را باز کنید.
۵. سرویس SSH متوقف شده است
sudo systemctl status ssh
sudo systemctl restart ssh
در برخی توزیعها نام سرویس sshd است.
۶. پورت SSH تغییر کرده ولی فایروال بهروز نشده
پس از تغییر Port در /etc/ssh/sshd_config، پورت جدید را در فایروال باز کنید و تا اطمینان از اتصال، نشست فعلی را نبندید.
۷. Fail2ban آیپی شما را مسدود کرده است
چند تلاش ناموفق ورود میتواند آیپی شما را موقتاً مسدود کند. از آیپی دیگری وارد شوید و بررسی کنید:
sudo fail2ban-client status sshd
sudo fail2ban-client set sshd unbanip YOUR_IP
۸. اختلال مسیر بینالملل یا اپراتور
اگر سرور خارج است و اتصال از یک اپراتور قطع ولی از اپراتور دیگر برقرار است، مشکل از مسیر شبکه است. با mtr SERVER_IP محل قطعی را پیدا کنید و در صورت امکان از شبکهٔ دیگری امتحان کنید.
۹. محدودیت شبکهٔ محل کار یا اینترنت عمومی
برخی شبکهها پورت ۲۲ خروجی را میبندند. از اینترنت همراه یا شبکهٔ دیگری تست کنید.
۱۰. کلید یا رمز اشتباه
اگر پیغام Permission denied میگیرید، اتصال برقرار است و مشکل احراز هویت است. رمز را از پنل ببینید یا بازنشانی کنید و مسیر کلید را با -i مشخص کنید.
اگر هیچکدام جواب نداد
- سرور را از پنل ریاستارت کنید.
- در آخرین راه، اگر دادههای مهمی روی سرور ندارید، سیستمعامل را از پنل دوباره نصب کنید (همهٔ دادهها پاک میشود).
- تیکت پشتیبانی ثبت کنید و این اطلاعات را بفرستید: آیپی سرور، زمان دقیق مشکل، خروجی
ssh -vوmtr، و اینکه از کدام اپراتور وصل میشوید.
عیبیابی گامبهگام با خروجی ssh -v
خروجی ssh -v مرحلهبهمرحله نشان میدهد اتصال کجا متوقف شده است. چند الگوی رایج:
| آخرین خط خروجی | مرحله | معنی و اقدام |
|---|---|---|
Connecting to SERVER_IP port 22. و سپس توقف |
برقراری TCP | سرور پاسخ نمیدهد: وضعیت سرور، فایروال یا مسیر شبکه |
connect to host ... Connection refused |
TCP | سرور در دسترس است اما sshd روی این پورت نیست |
Connection established. و سپس توقف طولانی |
تبادل کلید | اختلال مسیر یا MTU؛ از اینترنت دیگری تست کنید |
kex_exchange_identification: Connection closed |
پس از اتصال | sshd اتصال را بسته: Fail2ban، محدودیت MaxStartups یا تنظیمات اشتباه |
Permission denied (publickey,password) |
احراز هویت | شبکه سالم است؛ کلید یا رمز اشتباه است |
تست از بیرون: مشکل از شبکهٔ شماست یا سرور؟
- با اینترنت دیگری (مثلاً اینترنت همراه بهجای ADSL یا برعکس) دوباره وصل شوید. اگر وصل شد، مشکل از مسیر اپراتور اول است.
- اگر سرور دیگری دارید، از آن به سرور مقصد SSH بزنید:
ssh -o ConnectTimeout=5 root@SERVER_IP. - برای بررسی مسیر و از دست رفتن بستهها از
mtrاستفاده کنید؛ راهنمای کامل در رفع پینگ بالا و Packet Loss.
تنظیمات سمت کلاینت برای اتصال پایدارتر
اگر اتصال برقرار میشود ولی پس از مدتی بیکاری قطع میشود، در فایل ~/.ssh/config روی کامپیوتر خودتان این تنظیمات را اضافه کنید:
Host myserver
HostName SERVER_IP
User root
Port 22
ServerAliveInterval 30
ServerAliveCountMax 4
ConnectTimeout 15
سپس فقط با ssh myserver وصل شوید. برای کار طولانی، از tmux استفاده کنید تا با قطع اتصال، کار متوقف نشود (دستورات ضروری لینوکس).
پیشگیری از قفل شدن
- پیش از تغییر پورت SSH یا فعال کردن فایروال، یک پنجرهٔ SSH باز نگه دارید و اتصال جدید را در پنجرهٔ دوم تست کنید.
- پورت جدید را قبل از تغییر در
sshd_config، در فایروال باز کنید (آموزش UFW). - پس از ویرایش
sshd_configباsudo sshd -tدرستی تنظیمات را بررسی کنید و بعد ریاستارت کنید. - اگر ورود با رمز را غیرفعال میکنید، مطمئن شوید ورود با کلید کار میکند (کلید SSH و تغییر پورت).
- آیپی خودتان را در Fail2ban در فهرست
ignoreipقرار دهید (اگر آیپی ثابت دارید).
گزارش به پشتیبانی
اگر هیچکدام از مراحل جواب نداد، با این اطلاعات تیکت ثبت کنید تا بررسی سریعتر شود: آیپی سرور، زمان دقیق خطا، اپراتور اینترنت شما، خروجی ssh -v و نتیجهٔ ping و nc -vz. پشتیبانی کلودیفای هر روز از ساعت ۹ تا ۲۲ پاسخگوست.
سؤالات متداول
چرا SSH بعد از ساخت سرور وصل نمیشود؟
احتمالاً نصب سیستمعامل هنوز تمام نشده است. چند دقیقه صبر کنید تا وضعیت سرور «فعال» شود.
چطور بفهمم مشکل از سرور است یا از اینترنت من؟
از یک شبکهٔ دیگر (مثلاً اینترنت همراه) تست کنید. اگر از آنجا وصل شد، مشکل از مسیر شبکهٔ اول است.
بعد از فعال کردن UFW قفل شدم؛ چه کنم؟
از کنسول یا حالت Rescue (در صورت وجود) وارد شوید و پورت SSH را باز کنید؛ در غیر این صورت با پشتیبانی تماس بگیرید.
ping جواب میدهد ولی SSH وصل نمیشود؛ چرا؟
ping از پروتکل ICMP استفاده میکند و SSH از TCP پورت ۲۲. پاسخ ping یعنی سرور روشن است، اما پورت SSH ممکن است با فایروال بسته یا sshd متوقف باشد.
پس از نصب مجدد سیستمعامل، خطای «REMOTE HOST IDENTIFICATION HAS CHANGED» میگیرم.
کلید میزبان سرور عوض شده است. با ssh-keygen -R SERVER_IP کلید قدیمی را از کامپیوتر خود پاک و دوباره وصل شوید.
از PuTTY استفاده میکنم؛ همین مراحل صدق میکند؟
بله؛ پیغامها کمی متفاوتاند (مثلاً «Network error: Connection timed out»)، اما علتها و راهحلها یکسان است. آموزش اتصال SSH روش ویندوز را هم توضیح میدهد.
از ۱٬۲۰۰ تومان در ساعت · پرداخت ریالی



