ما هو SSH وكيف يعمل؟

نشرت: 2021-08-15

SSH هو بروتوكول شبكة آمن للوصول إلى أجهزة الكمبيوتر البعيدة في الشبكة.

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

لكنها ليست آمنة ، أي يمكن لأي شخص في منتصف الشبكة اعتراض وقراءة البيانات التي يتم نقلها. في منتصف التسعينيات ، تم تقديم بروتوكول أكثر أمانًا يسمى ssh كخلف موثوق لبروتوكول telnet.

صدفه آمنه

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

ما هو SSH؟

SSH أو Secure Shell أو Secure Socket Shell هو بروتوكول شبكة يساعدنا في الوصول الآمن والتواصل مع الأجهزة البعيدة (معظمها خوادم بعيدة).

يوفر تشفيرًا قويًا ويستخدم على نطاق واسع من قبل مسؤولي الشبكة والمطورين لإدارة الأنظمة والتطبيقات البعيدة ، وتنفيذ الأوامر ، ومشاركة الملفات ، وما إلى ذلك.

الحاجة إلى SSH

تم إنشاء SSH في عام 1995 لحل مشكلات الأمان التي تواجهها بروتوكولات الوصول عن بُعد غير الآمنة مثل rlogin و rsh و Telnet.

الآن دعنا نتحدث عن Telnet ، والتي تعني Teletype Network التي تم تطويرها في عام 1969. إنها أداة سطر أوامر بسيطة يتم تشغيلها على جهاز الكمبيوتر الخاص بك للوصول إلى خادم بعيد (في أي مكان موجود في العالم). وأرسل أوامر ليتم تنفيذها على هذا الخادم ، تمامًا كما لو كنت جالسًا أمام الخادم البعيد (حتى على بعد أميال من الخادم). يقوم Telnet بنقل الرسائل واستلامها بنص عادي عبر الشبكة.

يمكن أن تكون الأوامر التي ستنفذها هي تشغيل البرامج ، وإنشاء الدلائل ، وإنشاء / حذف / نقل الملفات ، وبدء / إيقاف الخدمات ، وما إلى ذلك.

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

اتصال مشفر

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

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

كيف يعمل؟

يستخدم SSH بنية خادم العميل للاتصال الآمن عبر الشبكة عن طريق توصيل عميل ssh بخادم ssh. بشكل افتراضي ، يستمع خادم ssh إلى منفذ TCP القياسي 22 (يمكنك تغيير ذلك لتحسين الأمان).

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

اتصالات SSH المشفرة

Linux هو نظام التشغيل المستخدم على نطاق واسع للخوادم البعيدة بسبب أمانه ومتانته . العديد من الخوادم التي تستخدم نظام التشغيل Linux على الإنترنت تعمل منذ سنوات دون العديد من الإخفاقات أو حتى إعادة التشغيل.

معظم جلسات SSH (الفترة التي نصل فيها إلى الخادم البعيد) ستشتمل على العمليتين التاليتين فقط:

  • المصادقة
  • تنفيذ الأمر

يمكن لخوادم SSH مصادقة العملاء باستخدام مجموعة متنوعة من الأساليب.

والطريقتان الشائعتان هما:

  • قائم على كلمة المرور
  • على أساس مفتاح

المصادقة المستندة إلى كلمة المرور هي الطريقة الافتراضية المستخدمة للمصادقة لعملاء OpenSSH المثبتين. إنها أبسط مصادقة ssh ولكنها ليست الأكثر أمانًا.

على الرغم من إرسال كلمات المرور إلى الخادم بشكل آمن ، إلا أن هجمات القوة الغاشمة الحديثة قد تتجاوز المصادقة.

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

بعد مصادقة الخادم للعميل بنجاح ، يتم إنشاء اتصال آمن بينهما.

الوصول إلى الخادم البعيد باستخدام SSH

إذا كنت من مستخدمي Mac / Linux ، فيمكنك استخدام المحطة مباشرة لكتابة وتشغيل أوامر ssh ، حيث أن OpenSSH مثبت بالفعل بشكل افتراضي.

إذا كنت من مستخدمي Windows ، فأنت بحاجة إلى تثبيت عميل محاكي طرف ثالث لتشغيل أوامر ssh. PuTTY هو عميل ssh الأكثر شيوعًا لنظام التشغيل Windows.

للاتصال بخادم بعيد باستخدام SSH ، تحتاج إلى معرفة شيئين على الأقل.

  • الخادم المضيف
  • اسم االمستخدم

بناء الجملة لأمر ssh الأساسي هو:

 $ ssh <user-name> @ <host> -p <port-no>

اسم المستخدم هو اسم مستخدم الجهاز البعيد الذي نحاول الاتصال به (وليس المستخدم على جهازك المحلي) ، والمضيف هو إما عنوان IP أو اسم مجال.

لنلقِ نظرة على مثال للاتصال بخادم بعيد باستخدام موقع الويب OverTheWire. إنه موقع مجاني لتحدي المناورات.

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

أوراق اعتماد:

اسم المستخدم وكلمة المرور: bandit0
المضيف والمنفذ: bandit.labs.overthewire.org ، 2220

عندما تكتب الأمر التالي وتضغط على Enter:

 $ ssh [email protected] -p 2220

سيطالبك بكلمة المرور لأغراض المصادقة. اكتب الآن كلمة المرور واضغط على Enter:

مثال على تسجيل الدخول عبر SSH

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

يمكنك الآن استخدام طرف الآلة البعيدة لكتابة أوامرك وتنفيذها وتنفيذ العمليات التي تحتاجها.

عندما تريد إنهاء جلسة ssh ، اكتب الأمر exit :

 $ exit

نهاية جلسة SSH

ستتلقى رسالة ، " تم إغلاق الاتصال" عند تسجيل الخروج بنجاح من جلسة ssh.

استنتاج

السبب الرئيسي وراء شعبية SSH هو تشفير الاتصال الكامل بين الخادم والعميل .

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

بعد ذلك ، استكشف بعض الموارد لتصبح مسؤول النظام.