نماد سایت دریای شرق

نحوه رفع خطاهای SSH : با روش آسان و سریع

نحوه رفع خطاهای SSH

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

هشدار: شناسایی میزبان از راه دور تغییر کرده است

این خطا زمانی ایجاد می شود که گواهی SSL برای یک سرور تغییر کند. این خطا برای علامت گذاری یک حمله بالقوه “man in the middle” طراحی شده است. با این حال، اکثر مردم تنها پس از بازسازی سرور با این خطا مواجه می شوند.

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

نحوه رفع خطاهای SSH : دسترسی رد شد یا احراز هویت رد شد

شایع ترین دلیل خطای «Access Denied» یا «Authentication Refused» این است که نام کاربری یا رمز عبور SSH اشتباه املایی یا نادرست است.

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

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

به حساب خود وارد شوید، روی «کنترل پنل» کلیک کنید تا منوی کشویی باز شود، سپس روی «پانل ابری» کلیک کنید.

در صفحه سرورها، برای انتخاب سرور خود کلیک کنید.

به سمت پایین به خط «گذرواژه اولیه Initial Password» بروید و روی « Show Password نمایش گذرواژه» کلیک کنید تا رمز عبور پیش‌فرض root نمایش داده شود.

می توانید رمز عبور را از پیام باز شده کپی و جایگذاری کنید.

نحوه رفع خطاهای SSH : پورت 22: اتصال رد شد

چندین دلیل احتمالی وجود دارد که چرا ممکن است هنگام تلاش برای اتصال از طریق SSH به سرور خود، خطای “Port 22: Connection refused” را دریافت کنید.

آیا سرور در دسترس است

اولین کاری که باید انجام دهید این است که بفهمید آیا سرور به اتصالات پورت 22 از جای دیگری در اینترنت اجازه می دهد یا خیر. از ابزار http://www.infobyip.com/sshservertest.php برای بررسی سرور خود استفاده کنید.

اگر این سایت بتواند به سرور شما متصل شود، پس مشکل از سر شماست. ممکن است پشت فایروالی باشید که ترافیک پورت 22 را مسدود می کند. بسیاری از دفاتر و مدارس این پورت را به دلایل امنیتی مسدود می کنند.

اگر سایت قادر به اتصال به سرور شما نیست، مشکل یا روی سرور است یا بین سرور و اینترنت.

نحوه رفع خطاهای SSH : آیا SSH نصب شده است

اگر این یک نصب جدید است، ممکن است سرور SSH (sshd) نصب نشده باشد. با دستور زیر می توانید بررسی کنید که آیا در سیستم شما وجود دارد یا خیر:

which sshd

اگر سیستم با مسیری مانند  /usr/sbin/sshd پاسخ دهد، سرور SSH نصب شده است. اگر در عوض با خطایی مانند /usr/bin/which پاسخ داد: بدون sshd در (/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin) ، باید هر دو را نصب کنید. مشتری SSH و سرور SSH.

در اوبونتو و دبیان، این برنامه ها را با دستور نصب کنید:

sudo apt-get install openssh-server openssh-clients

در CentOS، این برنامه ها را با دستور نصب کنید:

sudo yum -y install openssh-server openssh-clients

SSH را راه اندازی یا راه اندازی مجدد کنید

بررسی کنید تا مطمئن شوید که سرویس SSH با دستور زیر اجرا می شود:

sudo ps -aux | grep sshd

علاوه بر دستور grep، باید فرآیند SSHD را در حال اجرا ببینید.

اگر فرآیند SSHD در حال اجرا نیست، آن را شروع کنید.

اگر فرآیند SSHD در حال اجرا باشد، ممکن است نیاز به راه اندازی مجدد داشته باشد.

نحوه رفع خطاهای SSH : آیا SSH در پورت 22 گوش می دهد

پورت 22 پورت پیش فرض برای اتصالات SSH است. اگر شبح SSH سرور شما برای گوش دادن به پورتی غیر از پورت 22 پیکربندی شده باشد، اتصال SSH به پورت 22 را رد می کند.

برای بررسی اینکه SSH به کدام پورت گوش می دهد، از دستور استفاده کنید:

sudo netstat -apn | grep sshd

خروجی این دستور به شما نشان می دهد که SSH به کدام پورت گوش می دهد.

اگر SSH به درگاهی غیر از پورت 22 گوش می دهد، باید تنظیمات اتصال خود را مطابق با آن تنظیم کنید.

در PuTTY برای ویندوز، می‌توانید پورت را در صفحه تنظیمات اصلی تنظیم کنید.

فایل پیکربندی SSH را از نظر غلط املایی بررسی کنید

اگر اخیراً تنظیمات SSH خود را ویرایش کرده اید، نحو فایل را با این موارد بررسی کنید:

sudo sshd –T

قوانین فایروال خود را بررسی کنید

چندین سناریو احتمالی فایروال وجود دارد که می تواند منجر به این خطای SSH شود، از جمله:

قوانین UFW را بررسی کنید

اگر از ufw به عنوان فایروال در سرور خود استفاده می‌کنید، می‌توانید همه قوانین ufw خود را با دستور زیر فهرست کنید:

sudo ufw verbose

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

sudo ufw allow ssh

قوانین Iptables را بررسی کنید

برای اینکه ببینید آیا یک قانون iptables دارید که ترافیک SSH را مسدود می کند، از دستور استفاده کنید:

sudo iptables -L | grep ssh

همچنین می توانید تمام قوانین iptables خود را با دستور زیر فهرست کنید:

sudo iptables -L

برای حذف یک قانون iptables، فایل  /etc/sysconfig/iptables را ویرایش کنید، سپس پیکربندی iptables را با دستور بارگیری مجدد کنید:

sudo iptables -F

خط مشی فایروال پنل ابری خود را بررسی کنید

وارد کنترل پنل خود شوید و به پنل ابری خود بروید. به Infrastructure -> Servers  بروید و برای انتخاب سرور خود کلیک کنید.

به پایین بروید تا ببینید آیا خط مشی فایروال فهرست شده است یا خیر.

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

برای انجام این کار، Network -> Firewall Policies کلیک کنید.

برای انتخاب خط مشی فایروال که به سرور شما اختصاص داده شده است، کلیک کنید.

اگر خط‌مشی فایروال شما قانونی برای مجاز کردن SSH ندارد، به پایین بروید و روی «Add Predefined Values» کلیک کنید.

روی SSH کلیک کنید.

برای افزودن این قانون جدید به خط مشی فایروال خود، روی علامت تیک سبز کلیک کنید.

نحوه رفع خطاهای SSH : نرم افزار باعث قطع اتصال شد

خطای “Network error: Software caused connection abort” زمانی رخ می دهد که دستگاه دسکتاپ شما اتصال را به طور غیرمنتظره ای ببندد. این ممکن است در صورتی اتفاق بیفتد که با مشکل اینترنت، از جمله یک مشکل کوتاه در اتصال مواجه شوید.

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

Write failed: broken pipe Network error: Connection reset by peer

وقتی یک جلسه SSH با “Write failed: broken pipe” یا “Network error: Connection reset by peer” بسته می شود، به این معنی است که زمان جلسه تمام شده است.

مهلت زمانی ممکن است در رایانه شما، روی سرور یا روی دیوار آتش بین آنها رخ دهد. اگر جلسه SSH برای مدت طولانی بیکار بماند به طور خودکار بسته می شود.

راه حل این است که سرویس گیرنده SSH خود را برای ارسال “keepalive packets” تنظیم کنید. اینها بسته های کوچکی از داده ها هستند که به طور خودکار در فواصل زمانی منظم ارسال می شوند. این به شبکه می گوید که اتصال شما هنوز فعال است.

تنظیم Keepalive

PuTTY در ویندوز

اگر از PuTTY در ویندوز برای اتصال به سرور خود استفاده می‌کنید، می‌توانید تایم اوت را در قسمت Connection تنظیم کنید. “Seconds between keepalives (0 to off off)” را روی 60 تنظیم کنید.

لینوکس یا یونیکس

اگر از دسک‌تاپ لینوکس یا یونیکس برای اتصال به سرور خود استفاده می‌کنید، /etc/ssh/sshd_config را ویرایش کنید و اضافه کنید:

ServerAliveInterval 60

فایل را ذخیره کرده و از آن خارج شوید، سپس SSH را مجدداً راه اندازی کنید تا تغییرات اعمال شوند.

نحوه رفع خطاهای SSH : زمان اتصال تمام شد

خطای “Network error: Connection timed out” به این معنی است که کلاینت SSH شما هیچ پاسخی از سرور دریافت نکرده است. چندین دلیل ممکن برای این خطا وجود دارد:

قطعی اینترنت در محل شما

چند لحظه صبر کنید، سپس دوباره امتحان کنید. اگر همچنان پیام خطا را دریافت می‌کنید، با مراجعه به وب‌سایتی مانند Google در مرورگر خود، اتصال اینترنت خود را بررسی کنید.

یک مشکل جدی شبکه در جایی بین مکان شما و سرور

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

برای اجرای traceroute در ویندوز 10، روی دکمه Start کلیک راست کنید.

روی «Search» کلیک کنید.

“cmd” را در قسمت جستجو تایپ کنید.

وقتی روی Command Prompt ظاهر شد، روی آن کلیک کنید.

با دستور زیر یک traceroute را روی سرور خود اجرا کنید:

tracert [IP address or domain name]

به عنوان مثال، اگر سرور شما http://example.com باشد، دستور به این صورت خواهد بود:

tracert example.com

خروجی چیزی شبیه به این خواهد بود:

اگر زمان پینگ بسیار بالا (هر چیزی بیشتر از 300 میلی‌ثانیه «high» در نظر گرفته می‌شود) یا بسته‌های ریزش بیش از حد (که با ستاره نشان داده شده‌اند) می‌بینید، این می‌تواند منبع مشکل شما باشد.

نکته: “Hop” نهایی به سرور نهایی اغلب بسته های حذف شده و “Request timed out” را نشان می دهد حتی زمانی که سرور بدون هیچ مشکلی فعال و کار می کند. به دلایل امنیتی، اکثر سرورها به دستورات پینگ پاسخ نمی دهند.

قوانین فایروال از اتصال جلوگیری می کند

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

سرور ممکن است آفلاین یا خاموش باشد

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

اگر سرور همچنان پاسخ نمی دهد، می توانید وضعیت سرور را از کنترل پنل IONOS خود بررسی کنید.

به حساب IONOS خود وارد شوید، روی «کنترل پنل» کلیک کنید تا منوی کشویی باز شود، سپس روی «پانل ابری» کلیک کنید.

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

برای بررسی سرور، روی دکمه Actions کلیک کنید، سپس از منوی کشویی گزینه Access KVM Console را انتخاب کنید.

با این کار کنسول KVM باز می شود، که به شما امکان می دهد به سرور خود دسترسی داشته باشید، گویی پشت یک صفحه کلید متصل به ماشین فیزیکی نشسته اید.

اگر می خواهید سرور را مجددا راه اندازی کنید، می توانید این کار را از کنسول KVM با دستور زیر انجام دهید:

sudo shutdown -r now

همچنین می‌توانید با کلیک روی راه‌اندازی مجدد، سرور خود را از منوی Actions راه‌اندازی مجدد کنید.

نحوه رفع خطاهای SSH

ترجمه شده توسط سایت دریای شرق از سایت
کپی بدون ذکر نام و لینک سایت دریای شرق ممنوع است !

خروج از نسخه موبایل