بررسی و حل مشکل اتصال به سرور لینوکس از طریق SSH

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

1.خطای Timeout (عدم پاسخ از سرور)

این خطا زمانی رخ می‌دهد که سیستم شما در زمان اتصال SSH هیچ پاسخی از سرور دریافت نمی‌کند و اتصال در سطح شبکه برقرار نمی‌شود. در صورت مشاهده این خطا، لطفاً موارد زیر را به ترتیب بررسی کنید:

  • از اتصال اینترنت خود اطمینان حاصل کنید.
  • بررسی کنید آدرس IP سرور را به‌درستی وارد کرده‌اید.
  • در صورت امکان، با استفاده از ابزارهایی مانند ping، اتصال شبکه خود را تست کنید.
  • در صورت استفاده از VPN یا شبکه سازمانی، آن را موقتاً غیرفعال کرده و مجدداً تلاش کنید.

اگر مشکل همچنان ادامه داشت، تنظیمات سرور در پنل ابری را بررسی کنید:

  • مطمئن شوید سرور روشن است.
  • بررسی کنید پورت SSH (معمولاً TCP/22) در فایروال مسدود نشده باشد.
  • اطمینان حاصل کنید سرور دارای دسترسی به اینترنت است.

برای اینکه یک سرور ابری بتواند به اینترنت دسترسی داشته باشد، باید تنظیمات شبکه به‌درستی انجام شده باشد: در بخش فایروال، باید قانون خروجی (Outbound Rule) فعال باشد. این قانون باید اجازه ارسال ترافیک به همه مقاصد اینترنت را بدهد.

2.خطای Connection Refused

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

ابتدا مطمئن شوید اطلاعات ورود صحیح است:

  • آدرس IP سرور را درست وارد کرده‌اید.
  • نام کاربری درست است (مثلاً ubuntu).

بررسی وضعیت فایروال و سرویس:

از باز بودن پورت SSH (معمولاً TCP/22) در فایروال پنل ابری و فایروال سرور اطمینان حاصل کنید. از طریق کنسول، وضعیت فایروال سرور را با یکی از دستورات زیر بررسی کنید:

Bash

sudo ufw status

Bash

sudo iptables -L

در صورتی که وضعیت فایروال فعال نبود، با دستور زیر آن را فعال کنید:

Bash

sudo ufw enable

و دسترسی SSH را مجاز کنید:

Bash

Sudo ufw allow ssh

یا استفاده از iptables

Bash

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

نکته

  • گاهی ممکن است از پورت پیش‌فرض برای SSH استفاده نشده باشد؛ در این صورت باید پورت مربوطه را باز کنید.

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

با دستور زیر از فعال بودن سرویس مطمئن شوید:

Bash

systemctl status ssh

3.خطای Permission Denied

این خطا زمانی رخ می‌دهد که اتصال شبکه برقرار شده، اما احراز هویت (Authentication) ناموفق است.

  • از وارد کردن پسورد و نام کاربری صحیح اطمینان حاصل کنید.
  • نام کاربری پیش‌فرض: برای سرورهای Ubuntu برابر ubuntu، برای Debian برابر debian و برای CentOS برابر cloud-user می‌باشد.
Bash

sudo systemctl start ssh

4.خطای Remote host identification has changed

این خطا زمانی رخ می‌دهد که کلید شناسایی سرور (SSH Host Key) تغییر کرده باشد. برای رفع آن، کلید قدیمی را از سیستم خود حذف کنید:

نکته

  • مسیر  /home/geek/.ssh/known_hosts فایل ذخیره کلیدهای سرورهایی است که قبلاً به آن‌ها متصل شده‌اید و 192.168.1.1 آدرس IP سروری است که قصد اتصال به آن را دارید. در اولین اتصال، سیستم از شما می‌خواهد کلید جدید سرور را تأیید کنید. با وارد کردن yes، کلید جدید در فایل known_hosts  ذخیره شده و اتصال برقرار می‌شود.
Bash

ssh-keygen -f "/home/geek/.ssh/known_hosts" -R "192.168.1.1"

نکته

  • در دستور بالا، مسیر فایل و آدرس IP را مطابق با سیستم خود جایگزین کنید. پس از اجرای دستور، در اتصال بعدی yes را تایپ کنید.

بررسی و حل مشکل اتصال به سرور ویندوز از طریق RDP

برای اتصال به سرورهای ویندوزی از Remote Desktop (RDP) استفاده می‌شود.

۱) عدم برقراری اتصال (Timeout)

در این حالت برنامه Remote Desktop پاسخی از سرور دریافت نمی‌کند:

  • از اتصال اینترنت خود اطمینان حاصل کنید.
  • آدرس IP سرور را به‌درستی وارد کنید.
  • از طریق پنل ابری، از روشن بودن سرور مطمئن شوید.
  • از باز بودن پورت RDP (معمولاً TCP/3389) در فایروال پنل ابری و فایروال سرور اطمینان حاصل کنید.

۲) خطای نام کاربری یا رمز عبور اشتباه

در این حالت اتصال برقرار می‌شود اما ورود انجام نمی‌شود:

  • نام کاربری را درست وارد کنید (معمولاً Administrator).
  • رمز عبور را با دقت و رعایت حروف کوچک و بزرگ وارد کنید.
فهرست مطالب