
8 روش کاربردی رفع خطای SSH Connection Refused در لینوکس
یکی از رایج ترین ارورها هنگام متصل شدن به سرور از راه دور، خطای عدم اتصال با مضمون 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 را نام ببریم، به شرح زیر خواهند بود :
- نصب نبودن SSH Client
- نصب نبودن SSH Daemon روی سرور
- جلوگیری فایروال از اتصال SSH
- بروز اشتباه در وارد کردن آدرس IP و Hostname
- غیرفعال بودن سرویس SSH روی سرور
- محدودیت منابع سرور
- تنظیمات نادرست SSH Client
- مسائل اعتبارسنجی
روشهای کاربردی رفع ارور 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 لینوکس و ویندوز را مطالعه فرمایید.