بروتوكول النقل الآمن

بروتوكول النقل الآمن (The Secure Shell) هي ميثاق (بروتوكول) اتصالات للنقل الأمن للمعلومات, وخدمات صدفة الحماية عن بعد (remote shell) أو لتنفيذ أوامر وخدمات أخرى بين حاسوبين متصلين بشبكة التي تربطهما عن طريق قناة أمنة من خلال شبكة غير أمنة وهو مبني على نموذج الخادم/العميل.
أفضل تطبيق للميثاق هو الوصول إلى حسابات صدفة في أنظمة التشغيل شبيهة يونكس. صمم هذا البروتوكول كبديل لتل نت وغيره من البروتوكولات صدفة الحماية عن بعد غير الأمنة, والتي ترسل المعلومات, لاسيما كلمات المرور, كنص عادي مما يجعلها عرضة للاعتراض والكشف باستخدام تحليل الحزم. التشفير المستخدم في SSH أعد لتوفير السرية وسلامة البيانات عبر شبكة غير أمنة، مثل الإنترنت.

بروتوكول الSSH

ال SSH هو بروتوكول وليس منتج وهو يهتم بإدارة الحماية للمراسلات عبر الشبكة ويشمل – التشفير – التوثيق(مثلا عندما تريد الدخول إلى حساب فان الSSH سيطلب منك برهانا رقميا على هويتك وعندها يقرر قبولك أو لا) – سلامة البيانات. كما هو مبين في الشكل التالي :

اصطلاحات

أحيانا يحدث التباس بين الSSH كمنتج أو بروتوكول أو برنامج للمستخدم(Client programs) لذلك تم الاصطلاح كالتالي :
•البروتوكول يرمز إليه بشرطة (dashe) : SSH-1, SSH-2
•المنتج يرمز إليه بالدمج من دون استخدام شرطة : OpenSSH, Tectia, putty etc. 
•برنامج للمستخدم يرمز له بالأحرف الصغيرة : ssh, scp, putty, etc.
SSH: وهو مصطلح عام يطلق على كل بروتوكولات وبرامج الSecure Shell.
SSH-1: وهو بروتوكول SSH Version 1 لكنه مقيد جدا ولا ينصح باستخدامه.
SSH-2: وهو بروتوكول SSH Version 2 الذي يعتبر الأكثر انتشارا ومعرف من قبل معايير ال(IETF SECSH working group).
OpenSSH: وهو منتج من مشروع ال http://www.openssh.com OpenBSD

ميزات الSSH

لنقم الآن بالمرور على أمثلة لنوضح الميزات الضخمة للSSH وهي – الدخول الآمن إلى حسابك عن بعد(Secure Remote Logins) – النقل الآمن للملفات (secure file Transfer) – التنفيذ الآمن للأوامر عند بعد (Secure Remote Command Execution).
1-الدخول الآمن إلى حساب عن بعد :
معظم البرامج مثل telnet تجعلك تدخل إلى حساب عن طريق حاسب واحد عدا الآخر ولكن لسوء الحظ الtelnet وغيره من البرامج المشابهة تنقل اسم المستخدم وكلمة المرور الخاصة بحسابك كنص واضح عبر الشبكة مما يسهل عمل المتطفلين لتقنيصها.
في حين يجنبك الSSH من هذه المشكلة كاملا وذلك عن طريق تشغيل برنامج الSSH للمستخدم أي ssh.
مثلا: للدخول إلى حساب عن طريق اسم المستخدم (gh-chelsea) على حاسب في الشبكة host.example.com استخدم الأمر التالي :
 ssh -l  gh-chelsea host.example.com
سيتم تشفير اسم المستخدم وكلمة المرور قبل أن تخرج من الحاسب المحلي وصولا إلى مخدمSSH الذي يقوم بتسجيل الدخول مع ابقاء كافة المراسلات بين المخدم والمستخدم مشفرة حتى يتم تسجيل الخروج.
3-التنفيذ الآمن للأوامر عند بعد :
بفرض أنك مدير النظام (system administrator) وتريد تنفيذ عدة أوامر على حواسب في الشبكة، على سبيل المثال تريد أن تظهر العمليات الفعالة(active processes) من أجل كل مستخدم على الحواسب الأربعة التالية : grape, lemon, kiwi, and melon الموجودين على شبكة محلية باستخدام أمر Unix التالي :
/usr/bin/w فاننا سنكتب shell script كالتالي :
                            /bin/sh#!               
for machine in grape lemon kiwi melon
                                   do
          ssh   $machine   /usr/bin/w                                 
                                 done
كل أمر ونتائجه سيتم تشفيره عند انتقالها عبر الشبكة.

الخلاصة

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