دليل شامل لبروتوكول SSH لمطوري الويب

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

ما هو SSH؟

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

لماذا نستخدم SSH؟

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

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

كيفية عمل اتصال SSH

بشكل عام، يمكنك إعداد اتصال SSH في الطرفية (terminal) أو موجه الأوامر (command prompt). ستحتاج إلى وجود برنامج خادم SSH يعمل على الجهاز البعيد وعميل SSH على جهازك المحلي لإجراء الاتصال. هذا شيء يتم تكوينه بشكل عام على الخوادم الجديدة عند إعدادها، وإلا فسيكون من الصعب إدارتها.

متطلبات الاتصال

لإجراء اتصال SSH، تحتاج إلى معرفة شيئين على الأقل:

  1. مضيف الخادم (Server Host): يمكن أن يكون عنوان IP أو اسم نطاق.
  2. اسم المستخدم (Username): هو اسم المستخدم على الخادم البعيد الذي تتصل به، وليس المستخدم على جهازك المحلي.

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

الطريقة الأولى: المصادقة باستخدام كلمة المرور

لنجرِ اتصالاً بخادم بعيد باستخدام كلمة مرور. أولاً، اكتب الأمر التالي في الطرفية:

حيث james هو اسم المستخدم على الخادم البعيد وعنوان 142.93.58.60 هو مضيف الخادم (عنوان IP). سيُطلب منك بعد ذلك إدخال كلمة المرور، والتي تكون مخفية أثناء كتابتها، لذا يجب إدخالها بعناية.

قد ترى رسالة تحذير تطلب منك قبول بصمة الخادم (fingerprint) - أي هويته - لذا اكتب yes إذا كنت تثق في المورد الذي تحاول الاتصال به. إذا كان اسم المستخدم وكلمة المرور صحيحين، فسترى رسالة الترحيب الخاصة بالخادم ويمكنك البدء في تنفيذ الأوامر.

يمكنك أيضًا استخدام اسم نطاق بدلاً من عنوان IP:

مرة أخرى، أدخل كلمة المرور، وبمجرد إنشاء الاتصال، يمكنك تشغيل الأوامر.

الطريقة الثانية: المصادقة باستخدام مفاتيح SSH

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

يمكنك رؤية مفاتيح SSH الخاصة بك في مجلد .ssh المخفي في الدليل الرئيسي لجهاز الكمبيوتر المحلي. يتكون المفتاح من جزأين:

إنشاء واستخدام مفاتيح SSH

  1. إنشاء مفتاح جديد: إذا لم يكن لديك أي مفاتيح، يمكنك إنشاء مفتاح جديد باستخدام الأمر ssh-keygen. يمكنك تحديد اسم للمفتاح وتعيين كلمة مرور اختيارية له لمزيد من الأمان.
  2. نسخ المفتاح العام إلى الخادم: لتقديم مفتاحك العام إلى خادم بعيد، استخدم الأمر ssh-copy-id مع اسم المستخدم والخادم. سيقوم هذا الأمر بنسخ مفتاحك العام إلى ملف المصادقة على الخادم.

    ssh-copy-id [email protected]
    

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

حالة الاستخدام الشائعة: نسخ الملفات

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

يتيح لك استخدام أي من هذه الطرق نشر المحتوى الخاص بك على الخادم البعيد ليصبح متاحًا للعامة.

خلاصة

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

شارك المقال

أحدث المقالات

CONNECTED
ONLINE: ...
SECURE
00:00:00