القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

SSH هو بروتوكول شبكة يسمح لك بالوصول الآمن إلى نظام بعيد وإدارته عبر الشبكة. أثناء الاتصال بجهاز بعيد عبر SSH ، ربما واجهت خطأ "تم رفض الاتصال". قد يكون مواجهة هذه المشكلة محبطًا خاصةً إذا كنت مسؤولاً عن النظام وعليك أداء بعض المهام على النظام البعيد بشكل عاجل.

دعونا نلقي نظرة على بعض الأسباب المحتملة للحصول على خطأ "رفض الاتصال" في SSH وطرق حلها.

1. تحقق من تثبيت خادم SSH

أحد الأسباب المحتملة لخطأ "رفض الاتصال" هو أن الآلة البعيدة لا تعمل خادم SSH. بدون خادم SSH ، لن يقبل الجهاز اتصالات SSH الواردة ، ولن تتمكن من الوصول إليه عن بُعد.

لذا فإن الخطوة الأولى في استكشاف الأخطاء وإصلاحها هي التحقق مما إذا كان خادم SSH مثبتًا على الجهاز البعيد. استخدم الأمر التالي للتحقق من تثبيت خادم SSH:

على التوزيعات القائمة على دبيان:

dpkg - قائمة | grep ssh

على التوزيعات المستندة إلى RHEL:

قائمة yum مثبتة | grep ssh

في openSUSE:

بحث zypper -i | grep ssh

على التوزيعات القائمة على القوس:

بكمان -Q | grep ssh
instagram viewer

إذا تم تثبيت خادم SSH على الجهاز البعيد ، فسترى أنه مدرج في الإخراج. خلاف ذلك ، يجب عليك قم بتثبيت خادم OpenSSH على الجهاز البعيد تريد الوصول إليه عبر SSH. OpenSSH هو إصدار مفتوح المصدر من أدوات SSH للوصول عن بعد والتحكم في الأنظمة.

لتثبيت خادم OpenSSH ، استخدم الأوامر التالية:

على التوزيعات القائمة على دبيان:

sudo apt install openssh-server

على التوزيعات المستندة إلى RHEL:

sudo yum install openssh-server

في openSUSE:

sudo zypper تثبيت opensh

على التوزيعات القائمة على القوس:

باكمان- S opensh

2. تحقق من حالة خدمة SSH

سبب آخر للحصول على خطأ "الاتصال مرفوض" يمكن أن يكون أن خدمة SSH معطلة أو لا تعمل على الجهاز البعيد. بمجرد التأكد من تثبيت خادم SSH ، فإن الشيء الثاني الذي تحتاج إلى التحقق منه هو حالة الخادم.

sudo systemctl status sshd

إذا كانت الخدمة قيد التشغيل ، فسيشير الإخراج إلى أنها نشط (قيد التشغيل). خلاف ذلك ، سترى شيئًا مثل غير نشط (ميت).

إذا لم يكن خادم SSH قيد التشغيل ، فيمكنك بدء تشغيله يدويًا باستخدام الأمر التالي:

نظام sudo بدء sshd

يمكنك أيضًا تمكين الخدمة للبدء تلقائيًا عند التمهيد باستخدام:

sudo systemctl تمكين sshd

3. تحقق من منفذ SSH

افتراضيًا ، يعمل خادم SSH على المنفذ 22. ومع ذلك ، يمكن للمرء تغيير المنفذ الافتراضي. لذلك ، إذا تلقيت خطأ "رفض الاتصال" في SSH ، فقد يكون ذلك بسبب محاولتك الاتصال بخادم SSH على المنفذ الافتراضي 22 أثناء تشغيله على منفذ مختلف.

أنت تستطيع استخدم الأمر netstat باستخدام grep للعثور على المنفذ الذي يستمع عليه خادم SSH:

sudo netstat -plntu | grep ssh

يمكنك أيضًا العثور على منفذ SSH من ملف sshd_config ملف باستخدام الأمر التالي:

منفذ grep / etc / ssh / sshd_config

بعد تحديد منفذ SSH الصحيح ، حاول الاتصال بنظامك البعيد باستخدام هذا المنفذ المحدد.

4. تحقق من جدار حماية النظام الخاص بك

تحدث معظم مشكلات الاتصال بسبب جدار الحماية الخاص بجهازك الذي يحظر بعض المنافذ أو الخدمات. إذا كان الجهاز البعيد يحتوي على خادم SSH مثبتًا وقيد التشغيل ، فإن الخطوة التالية هي التحقق من جدار الحماية الخاص بك.

لمعرفة ما إذا كان جدار الحماية يحظر الاتصال ، قم بتعطيل جدار الحماية مؤقتًا باستخدام الأوامر التالية:

على توزيعات Debian و Linux المستندة إلى Arch:

sudo ufw تعطيل

في التوزيعات المستندة إلى RHEL و openSUSE:

sudo systemctl تعطيل جدار الحماية

إذا لم يظهر الخطأ بعد تعطيل جدار الحماية ، فهذا يعني أن جدار الحماية كان يحظر الاتصال. في هذه الحالة ، أعد تمكين جدار الحماية وأضف قاعدة تسمح لـ SSH.

في توزيعات Debian و Linux التي تستند إلى Arch ، استخدم الأمر التالي للسماح لـ SSH بالدخول جدار الحماية UFW:

sudo ufw تسمح ssh

بدلاً من ذلك ، يمكنك أيضًا السماح لـ SSH برقم المنفذ في جدار الحماية. لنفترض أن خادم SSH يستخدم المنفذ 5555 ، ثم يمكنك استخدام الأمر التالي للسماح به في جدار الحماية:

sudo ufw allow 5555

للتحقق من إضافة القاعدة بنجاح ، تحقق من حالة UFW:

حالة sudo ufw

في التوزيعات المستندة إلى RHEL و openSUSE ، استخدم الأمر التالي للسماح لـ SSH في جدار الحماية:

sudo firewall-cmd - دائم - إضافة خدمة = ssh

للسماح لـ SSH برقم المنفذ ، استخدم الأمر التالي:

sudo firewall-cmd --permanent --add-port = {port} / tcp

بالنسبة لخادم SSH الذي يعمل على المنفذ 4444 ، سيكون الأمر كما يلي:

sudo firewall-cmd - دائم - منفذ إضافة = 4444 / tcp

للتحقق من الإضافة الناجحة للقاعدة في جدار الحماية ، قم بتشغيل:

sudo firewall-cmd - قائمة الكل

5. حل تعارضات عنوان IP

هناك أيضًا فرصة لحدوث خطأ "رفض الاتصال" في SSH بسبب تعارض عنوان IP لخادم SSH مع عنوان IP لنظام آخر في الشبكة. يحدث هذا عندما يدعي نظامان على الشبكة أن لهما نفس عنوان IP ، مما يؤدي إلى تعارض IP.

لتأكيد ما إذا كان هناك تعارض في IP في شبكتك ، استخدم أداة arp-scan كما يلي:

arp-scan [معرف الشبكة]

إذا كان هناك تعارض في IP ، فسترى عنوان IP المكرر في الإخراج. لقطة الشاشة أدناه هي مثال على تعارض IP في الشبكة:

لتجنب تعارضات IP ، تأكد من عدم وجود عناوين IP ثابتة للأجهزة تتداخل مع عناوين تجمع DHCP.

نصيحة إضافية: قم بتشغيل SSH في وضع Verbose

عندما تواجه خطأ SSH ، حاول تشغيل الأمر ssh في الوضع المطول لتعقب المشكلة. لتشغيل SSH في الوضع المطول ، استخدم الأمر ssh مع ملف -vvv الخيار على النحو التالي:

ssh -vvv اسم المستخدم @ ip_address

في الوضع المطول ، سترى رسائل تصحيح الأخطاء في كل خطوة من خطوات الاتصال والتي ستساعدك على فهم مكان تكمن المشكلة.

استكشاف أخطاء SSH "رفض الاتصال" وإصلاحها على Linux

من خلال تحديد الأسباب المحتملة لخطأ اتصال SSH وتنفيذ الحلول المقترحة ، ستتمكن من استكشاف الأخطاء وإصلاحها وحل خطأ "رفض الاتصال" في SSH. بالإضافة إلى هذه الخطوات ، تأكد من اتصالك بعنوان IP الصحيح واستخدام بيانات اعتماد تسجيل الدخول الصحيحة.

لجعل اتصالك عن بُعد أكثر أمانًا ، يمكنك إعداد مصادقة ثنائية لـ SSH على نظام Linux.