كيفية إصلاح خطأ “تم رفض الاتصال” عبر SSH على نظام Linux

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

دعونا نلقي نظرة على بعض الأسباب المُحتملة لعرض الخطأ “تم رفض الاتصال” عبر SSH وطرق حله. تحقق من الدليل الكامل لكيفية إعداد SSH على Linux واختبار التكوين الخاص بك.

كيفية إصلاح خطأ "تم رفض الاتصال" عبر SSH على نظام Linux - لينكس

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

أحد الأسباب المُحتملة لخطأ “تم رفض الاتصال” هو أنَّ الجهاز البعيد لا يقوم بتشغيل خادم SSH. بدون خادم SSH ، لن يقبل الجهاز اتصالات SSH الواردة ، ولن تتمكن من الوصول إليه عن بُعد.

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

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

dpkg — list | grep ssh

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

yum list installed | grep ssh

في openSUSE:

zypper search -i | grep ssh

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

pacman -Q | grep ssh

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

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

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

sudo apt install openssh-server

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

sudo yum install openssh-server

في openSUSE:

sudo zypper install openssh

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

pacman -S openssh

تحقق من كيفية التحكم عن بُعد في Linux من Windows.

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

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

sudo systemctl start sshd

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

كيفية إصلاح خطأ "تم رفض الاتصال" عبر SSH على نظام Linux - لينكس

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

sudo systemctl enable sshd

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

sudo netstat -plntu | grep ssh

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

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

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

sudo netstat -plntu | grep ssh

كيفية إصلاح خطأ "تم رفض الاتصال" عبر SSH على نظام Linux - لينكس

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

grep port /etc/ssh/sshd_config

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

4. تحقق من جدار حماية النظام

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

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

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

sudo ufw disable

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

sudo systemctl disable firewalld

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

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

sudo ufw allow ssh

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

sudo ufw allow 5555

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

sudo ufw status

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

sudo firewall-cmd — permanent — add-service=ssh

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

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

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

sudo firewall-cmd — permanent — add-port=4444/tcp

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

sudo firewall-cmd — list-all

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

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

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

arp-scan [network-id]

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

كيفية إصلاح خطأ "تم رفض الاتصال" عبر SSH على نظام Linux - لينكس

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

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

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

ssh -vvv username@ip_address

كيفية إصلاح خطأ "تم رفض الاتصال" عبر SSH على نظام Linux - لينكس

في وضع Verbose ، سترى رسائل تصحيح الأخطاء في كل خطوة من خطوات الاتصال والتي ستُساعدك على فهم مكان المشكلة. تحقق من أفضل تطبيقات SSH Client لنظام iOS لإدارة الخوادم عن بُعد.

استكشاف خطأ “تم رفض الاتصال” عبر SSH وإصلاحه على Linux

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

لجعل اتصالك عن بُعد أكثر أمانًا ، يمكنك إعداد مصادقة ثنائية لـ SSH على نظام Linux. يُمكنك الإطلاع الآن على كيفية الوصول عن بُعد إلى سطح المكتب Ubuntu من Windows.

زر الذهاب إلى الأعلى