ما هو بروتوكول SSH وكيف تستخدمه؟ مع تثبيت خادم OpenSSH على أنظمة التشغيل
هل تساءلت يومًا عن الكيفية التي تحافظ بها المواقع الإلكترونية على أمان بياناتها وسط التهديدات الرقمية المتزايدة؟ في عالم مترابط تسوده التحديات الأمنية، يظهر بروتوكول SSH كحارس موثوق لتأمين الاتصال ونقل البيانات الحساسة. بفضل تشفيره القوي وآلياته المتقدمة، أصبح SSH ضرورة لا غنى عنها لكل من يسعى لحماية سيرفرات الووردبريس ومواقع الويب من الاختراقات والهجمات الإلكترونية.
في هذه المقالة، سنقوم بفحص أنواع بروتوكولات الاتصال بالكمبيوتر عن بعد ومعرفة المزيد حول بروتوكول SSH الآمن.. ستكتشف أيضًا كيف يضمن SSH خصوصية المعلومات، وكيف يمكن لأصحاب المواقع الاستفادة من ميزاته لتحسين الأداء وحماية بياناتهم من أعين المتطفلين.
سواء كنت مبتدئًا في إدارة السيرفرات أو محترفًا في الأمن السيبراني، فإن فهم قوة ومرونة SSH هو خطوة أساسية نحو عالم رقمي أكثر أمانًا. تابع القراءة لاكتشاف كيف يمكن لهذا البروتوكول أن يكون خط الدفاع الأول لموقعك.
جدول المحتويات
- ما هو بروتوكول الاتصال؟
- TelNet أول بروتوكول اتصال بين أجهزة الكمبيوتر
- ما هو برتوكول SSH أو Secure Shell؟
- تاريخ وإصدارات برتوكول SSH
- ما هو مفتاح بروتوكول SSH؟
- ما هو المفتاح العام RSA؟
- ما الفرق بين بروتوكول SSH وTelnet؟
- ما هي إستخدمات بروتوكول SSH؟
- ما هو V2ray؟
- ما هو بروتوكول نقل الملفات FTP؟
- ما هو OpenSSH؟
- لماذا يعمل بروتوكول SSH على المنفذ 22؟
- ما هو خادم SSH؟
- إعداد خادم SSH على Linux
- الاتصال بالخادم باستخدام SSH
- إعداد خادم SSH على Windows
- تكوين SSH على Windows
ما هو بروتوكول الاتصال؟
يشير بروتوكول الاتصال إلى آلية توصيل واستقبال المعلومات بين جهازين كمبيوتر على شبكة. عادة، يمكن توصيل جهازين كمبيوتر عبر بروتوكول TelNet دون تعديل البيانات، لكن هذا الاتصال عبر خدمة الإنترنت ليس آمنًا ولا يصلح إلا للشبكات المحلية مؤقتًا. إذا كنت تعمل في شركة كبيرة، فمن المؤكد أن شبكاتك معرضة لهجمات من المتسللين أو المنافسين. نتيجة لذلك، فإن البدء ببروتوكول آمن، مثل SSH، هو الأفضل.
TelNet أول بروتوكول اتصال بين أجهزة الكمبيوتر
بروتوكول Telnet، المعروف كبروتوكول اتصال الشبكات عبر الطرفية الافتراضية، تم تطويره في عام 1969 بهدف تمكين الاتصال والتحكم عن بُعد بجهاز حاسوب باستخدام سطر الأوامر داخل الشبكة. ومع ذلك، وبسبب إرسال هذا البروتوكول للبيانات بشكل واضح دون أي طبقة أمان، فإنه يُعدّ عرضة كبيرة لهجمات المتطفلين (الهاكرز) الذين يمكنهم اعتراض الاتصال وسرقة البيانات المهمة. لهذا السبب، لم يعد استخدام بروتوكول Telnet شائعًا في الشبكات الكبيرة مثل الإنترنت.
في الوقت الحاضر، يستخدم هذا البروتوكول فقط في حالات محدودة وفي الشبكات المحلية، حيث لا تكون التهديدات الأمنية كبيرة. أما بالنسبة للشبكات الأكبر والأكثر تعقيدًا، فقد حلت البروتوكولات الأحدث والأكثر أمانًا، مثل بروتوكول SSH، مكانه بفضل توفيرها لمستويات عالية من التشفير والحماية.
ما هو برتوكول SSH أو Secure Shell؟
برتوكول SSH، المعروف أيضًا باسم بروتوكول القشرة الآمنة، هو بروتوكول يهدف إلى تأمين الاتصال عن بُعد بين الأجهزة الحاسوبية. تم تطويره في عام 1995 بواسطة المهندس الفنلندي Tatu Ylonen في جامعة هلسنكي للتكنولوجيا بفنلندا، وذلك لحماية شبكة الجامعة من الهجمات الإلكترونية.
يعمل هذا البروتوكول على المنفذ رقم 22 ويُعتبر معيارًا تحت إشراف منظمة Internet Engineering Task Force (IETF)، وهي هيئة مسؤولة عن تطوير وتنظيم بروتوكولات الإنترنت منذ عام 1986. بروتوكول SSH يستخدم للتواصل الآمن ونقل البيانات، بالإضافة إلى تنفيذ الأوامر والخدمات الأخرى بين الأجهزة المتصلة بالشبكة.
يتضمن SSH أيضًا مجموعة من الأدوات التي تُنفّذ هذا البروتوكول بشكل عملي. ولمن يتساءل عن معنى الاختصار، فإن SSH يُشير إلى “Secure Shell” أو “Secure Socket Shell“، والتي تعني القشرة الآمنة. بفضل تقنيات التشفير التي يعتمد عليها، أصبح SSH عنصرًا أساسيًا في حماية الاتصالات والشبكات، مما يجعله خيارًا مثاليًا لضمان أمان الخدمات الحاسوبية.
تاريخ وإصدارات برتوكول SSH
أنشأ Tatu Ylonen الإصدار الأولي من SSH في عام 1995، وبعد ذلك أسس شركة SSH Communications Security. وبعد اكتشاف الأخطاء في الإصدار الأول، تم إنشاء إصدار ثانٍ، SSH-2، في عام 2006، وتم إيقاف استخدام الإصدار السابق، SSH-1. هذان الإصداران غير متوافقين بسبب الاختلافات في نوع الترميز. ومن الجدير بالذكر أن الإصدار الأول تم نشره مجانًا، ولكن الإصدار الثاني تم إنتاجه تجاريًا، ويجب على المستخدمين دفع رسوم لاستخدامه وحجزه.
ما هو مفتاح بروتوكول SSH؟
مفتاح SSH هو نفس رمز التوقيع الرقمي المستخدم لترميز الاتصالات وإرسال واستقبال البيانات (Cryptography)، وما يسمى Hash لضمان تسليم المعلومات بأمان. بعبارة أخرى، هذا المفتاح هو نوع من التوقيع الرقمي يتم تعيينه تلقائيًا في بداية الاتصال لكلا الكمبيوترين، وتشفير المعلومات أثناء إرسالها والسماح بفتحها واستخدامها أثناء استلامها.
في الواقع، التوقيع الرقمي عبارة عن سلسلة من التعليمات البرمجية المنتشرة عبر طبقات عديدة من المعلومات، مما يجعل المعلومات بأكملها غير مقروءة. وهذا يضيف طبقة من الحماية للمعلومات. يقوم بروتوكول SSH بتشفير البيانات باستخدام خوارزميات RSA Public Key وSHA-256 وSHA-512.
يتم الاحتفاظ بمفاتيح SSH في المجلد ssh في دليل المستخدم الرئيسي. يتم إستخدام هذه المفاتيح لمصادقة النظام باستخدام بروتوكول “RSA” العام. بالطبع، يُعرف النوع الأكثر خصوصية من هذه المفاتيح باسم “مفاتيح المستخدم”، وتُستخدم لمصادقة المستخدم نفسه. توفر مفاتيح SSH بديلاً لنهج المصادقة غير الآمن الخاص بـ Rhost. كان نهج Rhosts عرضة للخطر وغير آمن، مما يسمح للمتسللين بكسر التشفير بسرعة.
ما هو المفتاح العام RSA؟
المفتاح العام RSA (Rivest-Shamir-Adleman) هو تقنية رائدة لتشفير المفتاح العام (Public Key Cryptography PKC) تُستخدم عادةً لحماية نقل البيانات. في أنظمة التشفير هذه، يكون مفتاح التشفير عامًا، مما يعني أنه يتم استخدام المفاتيح الافتراضية لجميع الأجهزة.
يختلف نهج التشفير هذا عن التشفير الخاص؛ ومع ذلك، عند دمجه مع طرق أخرى، فقد يحمي المعلومات بالكامل. تُستخدم التوقيعات الرقمية RSA أيضًا لمجموعة متنوعة من الأغراض، بما في ذلك تشفير أكواد التطبيقات وبرامج الكمبيوتر.
ما الفرق بين بروتوكول SSH وTelnet؟
كما ذكرنا سابقًا، يتم استخدام كلا البروتوكولين للتواصل بين جهازين كمبيوتر على الشبكة. عند مقارنة SSH بـTelnet، يمكن ملاحظة أن TelNet ينقل المعلومات بدون تشفير وبشكل مفتوح للغاية، مما يعني أن المعلومات في منطقة الشبكة ليست آمنة وقد يسرقها المتسللون. ولكن مع بروتوكول SSH يتم تشفير المعلومات بتوقيع رقمي RSA قبل إرسالها وفك تشفيرها بنفس التوقيع الرقمي بعد استلامها. تتضمن عناصر الفرق بينهم في هذا الجدول:
الميزة | Telnet | SSH |
---|---|---|
التاريخ | تم تطويره في عام 1969 | تم تطويره في عام 1995 |
مستوى الأمان | نقل البيانات كنص واضح | يستخدم التشفير لنقل البيانات بشكل آمن |
التشفير | غير متوفر | متوفر |
التحقق من الهوية | غير متوفر | يستخدم المفاتيح العامة والخاصة |
المنفذ | المنفذ 23 | المنفذ 22 |
عرض النطاق المطلوب | منخفض | أعلى بسبب التشفير |
الاستخدامات | اختبار الشبكات المحلية واستكشاف الأخطاء | إدارة الخوادم وأجهزة الشبكة في البيئات العامة والخاصة |
المخاطر الأمنية | عرضة للاعتراض وسرقة البيانات | يوفر حماية قوية ضد اعتراض البيانات وسرقتها |
التحديثات الأمنية | متوفرة ولكنها غير كافية | آمن جدًا دون تقارير عن ثغرات كبيرة |
ما هي إستخدمات بروتوكول SSH؟
في الأساس، يستخدم هذا البروتوكول للاتصال الآمن والتحقق من الاتصال. وفقًا للميزات المضافة إلى هذا المنفذ، يعمل بروتوكول SSH كجدار حماية، مما يمنع حدوث خروقات أمنية. حتى الآن، لم تكن هناك أي مؤشرات على أن بروتوكول SSH-2 غير آمن، وبالتالي يمكننا القول إنه أحد أعظم الطرق للاتصال بين أجهزة الكمبيوتر. تتضمن وظائف وتطبيقات SSH ما يلي:
- القدرة على تأكيد المستخدمين
- إنشاء نفق آمن على منصة TCP/IP
- النقل التلقائي للاتصالات القائمة
- إمكانية التحقق الخارجي من المستخدمين
- نقل الملفات بشكل آمن ومحمي
ما هو V2ray؟
V2ray (Proxy server designed to bypass internet censorship) هي تقنية جديدة تجمع بين تقنية VPN وبروتوكولات أخرى مثل Vmess وVless وMTProto وShadowsocks لتشفير المعلومات باستخدام بروتوكول SSH، مما يؤدي إلى اتصال آمن للغاية ولا يمكن تتبعه.
بالطبع، تستخدم بروتوكولات Vmess وVless وMTProto وShadowsocks تقنيات إرسال واستقبال أخرى مثل TCP وmKCP وWebSocket وما إلى ذلك، مما يؤدي إلى منصة سريعة وآمنة.
ما هو بروتوكول نقل الملفات FTP؟
FTP (بروتوكول قياسي لنقل الملفات عبر شبكات TCP/IP) هو بروتوكول شبكة وهو في الأساس بروتوكول لإرسال واستقبال الملفات من نوع العميل والخادم، ويستخدم فقط لمساحة التخزين عن بعد على جهاز كمبيوتر آخر. على الرغم من أن FTP لا يستخدم التشفير، يمكنك حماية البيانات باستخدام برنامج FileZilla المجاني، والذي يستخدم بروتوكول SSH لإرسال واستقبال الملفات بشكل آمن.
يجب تثبيت البرنامج على كل من الخادم وأجهزة الكمبيوتر العميل. حاليًا، تستخدم الشركات الكبيرة مثل Google Drive وDopBox وOneDrive برنامج FileZilla لنقل الملفات بشكل آمن عبر SSH.
لاستخدام هذه الوظيفة في FileZilla، قم أولاً بتنزيل برنامج Puttygen وإنشاء مفتاح RSA باستخدامها. ثم، في قسم إعدادات FileZilla، حدد هذا المفتاح لكل من الخادم وجهاز الكمبيوتر العميل.
ما هو OpenSSH؟
نظرًا لتسويق الإصدار الثاني، اختار المبرمجون المهتمون بهذا الموضوع في فريق برمجة OpenBSD إعادة تطوير إصدار SSH-1 بأنفسهم، مما أدى إلى إصدار مجاني وأكثر أمانًا يُعرف باسم OpenSSH. يعتمد هذا البروتوكول على SSH-1 ويقدم شروط نقل المعلومات عبر منافذ TCP. تم تحديث OpenSSH آخر مرة إلى الإصدار 9.3 في 15 مارس 2023.
على الرغم من أن OpenSSH وSSH-2 مشتقان من إصدار SSH-1، إلا أنهما فرعان متميزان يتبعان إجراءاتهما الخاصة. SSH-2 هو بروتوكول الاتصال الأكثر أمانًا بين جهازين كمبيوتر، وبالتالي فإن طبيعته التجارية منطقية. ومع ذلك، يمكن اعتبار OpenSSH مكملًا لـ SSH-1، في محاولة ليكون إصدارًا مجانيًا ومفتوح المصدر من SSH-2 مع إضافة وظائف إضافية. لتنزيل OpenSSH، انتقل إلى موقعه الرسمي من هنا.
لماذا يعمل بروتوكول SSH على المنفذ 22؟
يتم تحديد أرقام المنافذ على الإنترنت بواسطة هيئة أرقام الإنترنت، أو IANA. تم تصميم كل من هذه المنافذ لبروتوكول مميز ويستخدم تقنية نقل خاصة به. على سبيل المثال، يستخدم بروتوكول http المنفذ 80، بينما يستخدم بروتوكول https المنفذ 443. يتم استخدام كلا البروتوكولين في المتصفحات لنقل واستقبال المعلومات من مواقع الويب. الفرق هو أن http هو بروتوكول قديم يعمل بدون تشفير، على غرار TelNet، ولكن https، مثل SSH، يشفر المعلومات باستخدام تقنية SSL.
أنشأ Tatu Ylonen بروتوكول SSH، وكان الويب لا يزال في مراحله الأولى من الانتشار ولم تتطور بعد إلى ما هي عليه اليوم. في ذلك الوقت، كان بروتوكول TelNet يعمل على المنفذ 21 وكان بروتوكول FTP يعمل على المنفذ 23. لذلك قرر السيد يلونين حجزه على المنفذ 22 للدعاية لبروتوكول SSH. وأخيرًا، وبعد اتصال السيد يلونين بمنظمة IANA، تم تخصيص المنفذ 22 لبروتوكول SSH.
ما هو خادم SSH؟
للوصول إلى المعلومات وتكوينها عن بعد، يجب أن يكون لدى خوادم المضيف، وخاصة خوادم Linux، حزمة SSH مثبتة وتعمل في نفس الوقت. في هذه الحالة، يتم تعريف الخادم أيضًا باسم خادم SSH. سيكون جهاز Linux الطرفي على هذا الخادم متاحًا ويتم تشغيله عن بُعد عبر Client-Server.
إعداد خادم SSH على Linux
للاتصال بخادم المضيف باستخدام SSH، يجب عليك أولاً تثبيت خادم SSH عليه، والذي يسمح لجهاز الكمبيوتر الخاص بالعميل بالاتصال بالمحطة الطرفية. اتبع الإرشادات أدناه لتثبيت خادم SSH:
أولاً، تأكد من تحديث جميع حزم Linux. سيؤدي تحديث الحزم إلى جعل نظامك متوافقًا مع أحدث إصدار من openSSH. لتحديث الحزم، قم بتنفيذ الأوامر التالية بشكل فردي في محطة Linux الطرفية:
sudo apt update
sudo apt upgrade
تتضمن معظم توزيعات Linux برنامج OpenSSH افتراضيًا في مستودعاتها. وخاصة التوزيعات التي تم تطويرها للخوادم، مثل Ubuntu Server وOpenSuse. يشبه مستودع Linux متجر التطبيقات على Android. لتثبيت أحدث إصدار من OpenSSH، استخدم الأمر التالي:
sudo apt install openssh-server
بعد اكتمال تثبيت OpenSSH، ستحتاج إلى تشغيله باستخدام الأوامر التالية:
sudo systemctl enable ssh
sudo systemctl start ssh
sudo systemctl status ssh
نظرًا لأن OpenSSH يصل إلى أقسام أساسية من Linux والإنترنت في نفس الوقت، فإن جدران الحماية الخاصة بنظام Linux تمنع تشغيله. ونتيجة لذلك، يجب عليك التحقق من صحة نشاط بروتوكول SSH من خلال إصدار التعليمات التالية حتى يتمكن جدار الحماية من تنفيذه بالكامل:
sudo ufw allow ssh
sudo ufw enable
sudo ufw reload
حتى الآن، تم إعداد خادم SSH وتشغيله على Linux. للاتصال بهذا الخادم البعيد والتحكم في الجهاز الطرفي عن بُعد، يرجى اتباع التعليمات التالية:
الاتصال بالخادم باستخدام SSH
في أنظمة التشغيل ماك ولينكس، يمكن الاتصال بجهاز الكمبيوتر الهدف عبر Terminal دون الحاجة إلى أي برامج إضافية. يكفي إدخال الكود التالي:
ssh root@serverip –p port
لا يمكن الوصول إلى SSH مباشرة من نظام التشغيل Windows؛ بدلاً من ذلك، يجب عليك استخدام برنامج PuTTY المجاني والمفتوح المصدر. بعد تنزيل PuTTY وتشغيله، ما عليك سوى إدخال عنوان IP أو المجال المناسب في مربع Hostname أو (IP address)، ورقم المنفذ، وهو 22، في مربع المنفذ، والقسم “تحديد خيار نوع الاتصال SSH”، ثم انقر فوق الزر “Open”.
في حال كان الوصول إلى خادم SSH يتطلب إدخال اسم مستخدم وكلمة مرور، ستقوم بإدخالهما داخل واجهة Terminal للحصول على الإذن باستخدام الخدمة. تدعم معظم أنظمة التشغيل افتراضيًا كلا الإصدارين من بروتوكول SSH، إلا إذا تم تحديد إصدار معين على جانب الخادم. للاطلاع على إصدار SSH المستخدم، يمكنك إدخال الأمر التالي ssh -v في Terminal.
إعداد خادم SSH على Windows
يمكنك تنشيط خادم SSH على Windows عن طريق تثبيت حزمة OpenSSH. لتثبيت خادم SSH وبدء تشغيله على Windows، اتبع الإرشادات التالية:
أولاً، انتقل إلى منطقة إعدادات Windows. يمكنك أيضًا تشغيل إعدادات Windows باستخدام مفاتيح الاختصار WIN + I.
انتقل إلى قسم التطبيقات.
افتح خيار التطبيقات والميزات من القائمة الرأسية على اليسار.
انقر فوق الميزات الاختيارية. أولاً، ابحث عن OpenSSH Server في مربع البحث عن الميزات المثبتة. إذا لم تجد أي شيء في هذه القائمة، فاتبع الخطوات التالية.
انقر فوق Add a feature.
في القائمة التي تظهر، أدخل OpenSSH Server في مربع البحث ليظهر في القائمة.
انقر فوق علامة الاختيار بجوار OpenSSH Server لتعبئتها.
انقر فوق الزر “install” لتثبيت OpenSSH Server.
وأخيرًا، بعد الانتهاء من التثبيت، قم بإعادة تشغيل نظام التشغيل Windows.
إذا كنت تريد تشغيل OpenSSH تلقائيًا، فيجب عليك اتباع الخطوات التالية:
- أولاً، افتح برنامج التشغيل.
- يمكنك فتح هذا البرنامج باستخدام اختصارات لوحة المفاتيح Win+R أو يمكنك العثور عليه من قائمة البدء وفي مجلد Windows System.
- في برنامج التشغيل Run، اكتب services.msc وانقر فوق الزر OK للدخول إلى إعدادات خدمات Windows. (بالطبع، يمكنك أيضًا كتابة services.msc أثناء فتح قائمة البدء للدخول إلى قائمة البحث وسيكون خيارها مرئيًا لك.)
- في هذه الصفحة، ابحث عن خيار OpenSSH SSH Server بين العناصر وانقر نقرًا مزدوجًا فوقه.
- في نافذة خصائص OpenSSH SSH Server وفي علامة التبويب General، اضبط نوع بدء التشغيل على Automatic.
- وأخيرًا، انقر فوق الزر OK وأغلق نافذة الخدمات.
تكوين SSH على Windows
بعد تثبيت OpenSSH على Windows، حان الوقت لتكوينه. أولاً، تحتاج إلى تقديم Windows PowerShell إلى OpenSSH بحيث عندما يتصل مستخدم العميل بالكمبيوتر، يمكنه العمل مع Windows PowerShell مثل Terminal على Linux. للقيام بذلك، يجب عليك أولاً فتح Windows PowerShell في وضع المسؤول ثم تشغيل الأمر التالي فيه:
New-ItemProperty -Path “HKLM:\SOFTWARE\OpenSSH” -Name DefaultShell -Value “C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe” -PropertyType String -Force
سيؤدي هذا إلى إضافة معلمة إلى OpenSSH في سجل Windows تحتوي على عنوان Windows PowerShell.
ملحوظة: إذا كان SSH لا يزال محظورًا باستخدام Windows، فتحقق من أذونات الوصول لجدار الحماية.
لتحقيق ذلك، افتح إعدادات الوصول للتطبيق باستخدام المسار التالي:
Control Panel – Windows Defender Firewall – Allow an app or feature through Windows Defender Firewall
إذا كانت القائمة غير نشطة، فحدد خيار Change Settings. ابحث عن خيار خادم OpenSSH في القائمة، واختر الخيارين Private وPublic، ثم انقر فوق الزر OK (موافق).
أثناء فتح قائمة “Start”، أدخل “firewall” لتشغيل برنامج إعدادات جدار الحماية.
أو، ضمن قسم إعدادات Windows، اختر الخيار الأخير “Update & Security”، ثم انقر فوق خيار “Firewall & network protectionة” على الشاشة التي تظهر.
أخيرًا، في هذه الصفحة، انقر فوق خيار Allow an app through firewall للوصول إلى قائمة برامج جدار الحماية Firewall.
الكلمة الأخيرة
كما قرأت، يسمح لك برتوكول SSH بإرسال واستقبال المعلومات بطريقة آمنة. يتم استخدام SSH على نطاق واسع في خدمات الشبكة والإنترنت (القدرات التقنية التي يوفرها الإنترنت)، وتستخدم جميع خوادم الاستضافة تقريبًا هذه التقنية. في الواقع، يعد هذا البروتوكول أحد الاحتياجات الأساسية للأمن السيبراني في مجال الإنترنت.
يمكن لأي برنامج أو بنية تتفاعل مع أنظمة بعيدة الاستفادة من الأمان المتزايد لهذا البروتوكول الشهير، وتثبيته ونشره غير مقيد. حتى أجهزة التوجيه الاحترافية مثل Antamedia Hotspot أدرجت هذه التقنية في أجهزتها.