شما برای مطالعه این مقاله فقط 5 دقیقه وقت نیاز دارید

fix-ssh-connection-refused-in-linux

8 روش کاربردی رفع خطای SSH Connection Refused در لینوکس

5/5 - (5 امتیاز)

یکی از رایج ترین ارورها هنگام متصل شدن به سرور از راه دور، خطای عدم اتصال با مضمون SSH Connection Refused است. مسائل متنوعی مانند تنظیمات فایروال، عدم نصب کلاینت SSH روی سرور، غیرفعال بودن سرویس‌های SSH و …  می‌توانند منجر به بروز این خطا شوند. البته در ابتدای امر پیشنهاد میکنیم از اتصال اینترنت در سرور و دستگاه خود مطمئن باشید و سپس به بررسی سایر علل بپردازید.

"SSH Connection refused” یک خطای ارتباطی در شبکه است که هنگام تلاش برای برقراری ارتباط از راه دور با سرور SSH رخ می‌دهد. پروتکل SSH امنیت اطلاعات سرور را در هنگام ارتباط از راه دور، تامین و تضمین می‌کند. به همین جهت برای داشتن یک ارتباط امن، بهتر است هرچه سریع‌تر این خطا را رفع کنید.

اگر شما هم پس از خرید سرور مجازی لینوکس با چنین خطایی مواجه شدید با ما همراه باشید تا با 8 علت رایج در بروز ارور SSH Connection Refused و روش‌های کاربردی رفع هر یک از آن‌ها در لینوکس آشنا شویم.

SSH چیست و چه کاربردی دارد؟

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

ارور SSH Connection Refused در لینوکس چه مفهومی دارد ؟

هنگامی که دستگاه شما به هر دلیلی نتواند از طریق SSH  به سرور دسترسی یابد، شما با ارور SSH Connection Refused مواجه می‌شوید. این پیام در واقع نشانگر این است که شما در حال حاضر قادر به برقراری ارتباط با سرور لینوکسی خود از طریق SSH Client نیستید. این ارور محدود به یک یا دو عامل نبوده و علل زیادی می‌تواند پشت آن باشد. اولین کاری که باید بکنید این است که علت عدم اتصال را بیابید و سپس طبق آموزش‌های ارائه شده، آن را رفع کنید. در ابتدا پیشنهاد می‌کنیم با ساده‌ترین عوامل شروع کنید، مسائلی مانند عدم اتصال سرور و دستگاه به اینترنت، غیرفعال بودن سرور بخاطر مسائلی مانند قطعی برق یا در حال آپدیت بودن، اشتباه بودن آدرس پورت و IP، اشتباه وارد کردن یوزرنیم و پسورد و مچ نبودن Public Key یا کلید عمومی.

پس از آن که این عوامل را بررسی کردید، به بررسی عوامل زیر بپردازید.

لیست 8 علت رایج در بروز خطای SSH Connection Refused

اگر بخواهیم 8 علت رایج در بروز ارور Connection Refused در مبحث SSH را نام ببریم، به شرح زیر خواهند بود :

  1. نصب نبودن SSH Client
  2. نصب نبودن SSH Daemon روی سرور 
  3. جلوگیری فایروال از اتصال SSH
  4. بروز اشتباه در وارد کردن آدرس IP و Hostname
  5. غیرفعال بودن سرویس SSH روی سرور
  6. محدودیت منابع سرور
  7. تنظیمات نادرست SSH Client
  8. مسائل اعتبارسنجی

روش‌های کاربردی رفع ارور SSH Connection Refused در لینوکس

حال که بصورت اجمالی با لیست 8 علت رایج در بروز ارور SSH Connection Refused آشنا شدیم، وقت آن است که روش کاربردی رفع هر خطا را نیز یاد بگیریم.

نصب نبودن SSH Client

در ابتدای کار، بهتر است مطمئن شویم که SSH Client بطور صحیح و کامل بر روی لوکال هاست نصب شده باشد. جهت چک کردن، در سیستمی که به سرور دسترسی دارد عبارت ssh را در ترمینال لینوکس وارد کنید تا از وضعیت کلی سرور SSH مطلع شوید. اگر اطلاعات سرور در ترمینال ظاهر شد، یعنی SSH Client روی سرور شما نصب شده‌است. در غیر این صورت بایستی آن را نصب کنید.

نصب نبودن SSH Daemon روی سرور لینوکس

جالب است بدانید که علاوه بر نسخه‌ی SSH، به نسخه‌ی SSH Daemon هم نیاز داریم تا بتوانیم اتصال از راه دور را برقرار کنیم. بنابراین لازم است از نصب بودن آن بر روی سرور اطمینان یابیم. برای اطلاع از این موضوع، در ترمینال لینوکس دستور زیر را وارد کنید:

ssh localhost

در صورت نیاز برای راه‌اندازی مجدد آن دستور زیر را وارد کنید:

sudo service ssh restart

جلوگیری فایروال از اتصال SSH

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

برای رفع این حالت، ابتدا پنجره ترمینال را باز کرده و سپس فرمان زیر را در آن وارد کنید : 

sudo ufw allow ssh

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

بروز اشتباه در وارد کردن آدرس IP و Hostname

از دیگر ارورهای رایج، وارد کردن آدرس IP و Hostname بصورت اشتباه است. اگر آدرس IP و Hostname به درستی وارد نشده باشند، عملا امکان برقراری ارتباط بین Client و سرور وجود نخواهد داشت. به همین جهت، حتما آدرس IP و Hostname را مجددا چک و دقت کنید که Hostname به درستی وارد شده باشد و سپس اقدام به برقراری ارتباط نمایید. البته این حالت در برخی موارد به DNS هم مربوط می شود.

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

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

جهت چک کردن فعال بودن SSH دستور زیر را در ترمینال وارد کنید :

sudo service ssh status

اگر فعال نبود، با این دستور می‌توانید آن را فعال کنید:

systemctl start sshd

محدودیت منابع سرور

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

تنظیمات نادرست SSH Client

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

مسائل اعتبارسنجی

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

سخن آخر

در این مقاله به بررسی رایج‌ترین علل بروز خطای SSH Connection Refused در لینوکس پرداختیم و راهکارهایی جهت تشخیص و رفع هر عامل ارائه کردیم. قبل از هر اقدامی پیشنهاد می‌کنیم علت دقیق بروز خطا را پیدا کنید و سپس طبق توضیحات داده شده، آن را رفع کنید. همچنین خلاصه علل و روش‌ها به شرح زیر است:

  • نصب نبودن SSH Client : از سیستمی که به سرور دسترسی دارید، چک کنید که این کلاینت بر روی هاست نصب شده باشد.
  • نصب نبودن SSH Daemon روی سرور : SSH Daemon نیز باید بر روی سرور نصب شده باشد.
  • جلوگیری فایروال از اتصال SSH : فایروال نیز می‌تواند مانع اتصال برخی IP ها به سرور بشود.
  • اشتباه در وارد کردن آدرس IP و Hostname : جهت برقراری ارتباط، آدرس IP و Hostname باید به درستی وارد شده باشند.
  • غیرفعال بودن سرویس SSH روی سرور : سرویس SSH حتما باید در حالت فعالیت باشد.
  • محدودیت منابع سرور : محدودیت‌ها در منابع (رم، CPU) و یا به حداکثر رسیدن تعداد اتصالات می‌تواند باعث بروز خطای SSH Connection Refused شود.
  • تنظیمات نادرست SSH Client : تنظیمات SSH Client نیز باید به درستی ست شده‌ باشند.
  • مسائل اعتبارسنجی : اشتباهات مکرر در وارد کردن یوزرنیم، پسورد، شماره‌ی پورت و دیگر متغیرهای اعتبارسنجی نیز می‌توانند منجر به عدم اتصال به سرور شوند.

 در نهایت اگر سوالی برایتان باقی مانده، بهتر است آن را با تیم پشتیبانی سرور مجازی در میان بگذارید.

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

مطالب مشابهی که شاید علاقمند باشید

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

دیدگاه های شما

برای دریافت این مقاله لطفا ایمیلتان را وارد کنید

می توانید مقاله را دانلود کنید یا پرینت بگیرید