الطريقة الأساسية للاتصال بخادم Linux هي من خلال بروتوكول SSHهذا النوع من الاتصال آمن، لأن جميع البيانات المنقولة عبره مشفرة. إلى إنشاء اتصال SSH يجب عليك تكوينه على الخادم البعيد الذي تريد الاتصال به، وعلى جهاز العميل من جهة المستخدم. تتوفر العديد من البرامج للاتصال عبر SSH. أما بالنسبة لنظام لينكس، فإن حزمة OpenSSH هي الأكثر شيوعًا، أما بالنسبة لنظام ويندوز، فيستخدم معظم مستخدمي PuTTY.
دعونا نلقي نظرة عن كثب على تكوين الخادم باستخدام Ubuntu Server 18.04 كمثال، ثم نحاول الاتصال بالخادم من Linux وWindows.
كل ما نفعله سيكون من حساب مستخدم عادي. في هذه الحالة، أنشأنا مستخدمًا باسم "مايكل"، و"جذر"تم تعطيل الحساب افتراضيًا.
إعداد جانب الخادم
إعداد الحزمة التي تقوم بتشغيل هذا الأمر:
sudo apt install openssh-server
بعد انتهاء التثبيت، تأكد من تشغيل الخدمة. استخدم هذا الأمر:
systemctl status sshd
حالة "نشط (جاري)"يعني أن الخدمة ممكّنة وتعمل بشكل طبيعي.
لتجنب حظر الاتصالات الواردة بواسطة جدار الحماية، تأكد من تعطيله، لأننا لن نقوم بتكوين جدار حماية الشبكة في هذه المقالة.
استخدم هذا الأمر:
sudo ufw disable
في هذه المرحلة، يمكنك الاتصال بالخادم. باستخدام الإعدادات الافتراضية، يسمح الخادم بالاتصال بالمنفذ القياسي ٢٢ باستخدام مصادقة تعتمد على كلمة مرور.
اتصال SSH من Linux
عادةً، يُثبّت عميل OpenSSH افتراضيًا على نظام Linux، ولا يتطلب أي إعدادات يدوية إضافية. يمكن إنشاء الاتصال من الطرفية باستخدام أمر ssh. في هذه الحالة، ستكون المعلمات اسم المستخدم وعنوان IP للخادم البعيد. على خادم الاختبار الذي نستخدمه كمثال، يوجد حساب واحد فقط وهو mihail، لذا سنستخدم هذا الحساب.
ssh [email protected]
عند الاتصال الأول، سيتعين عليك تأكيد إضافة المفتاح العام للخادم إلى قاعدة البيانات، لذا استجب بـ "نعم بعد ذلك، يمكنك إدخال كلمة المرور. في حال نجاح الاتصال، ستظهر لك رسالة ترحيب من سطر أوامر الخادم. سيتم الآن تنفيذ جميع الأوامر مباشرةً على الخادم البعيد.
SSH من Windows
افتح برنامج Putty واضبط إعدادات الاتصال. تأكد من أن المفتاح "نوع الاتصال" يتم تحويله إلى SSH. أدخل عنوان IP في "اسم المضيف"الحقل، القيمة الافتراضية" 22 داخل "ميناء"وانقر فوق"ساعات العمل".
عند الاتصال الأول المعجون سيطلب منك تأكيد ثقتك بهذا الخادم، لذا انقر فوق "نعم"
بعد إدخال اسم المستخدم وكلمة المرور، سوف ترى سطر الأوامر الخاص بالخادم البعيد.
المصادقة بالمفتاح. مستوى أمان متزايد
عندما يحاول العميل إنشاء اتصال آمن بالخادم عبر SSH، قبل السماح بالاتصال، يتطلب الخادم مصادقة العميل (التحقق منه). وكما ذكرنا سابقًا، عادةً ما تُستخدم المصادقة القائمة على كلمة المرور افتراضيًا. فهي لا توفر أمانًا قويًا، نظرًا لوجود طريقة لاختراقها بالقوة الغاشمة. كما أن مصادقة كلمة المرور غير قابلة للتطبيق على اتصالات SSH التي تستخدم البرامج النصية.
لهذا النوع من المهام، توجد طريقة مصادقة خاصة بالمفتاح. الفكرة هي أن العميل يُنشئ مفتاحين خاصين وعامين، ثم يُرسل المفتاح العام إلى الخادم. بعد ذلك، لا حاجة لكلمة مرور للاتصال بالخادم، لأن المصادقة تُجرى بناءً على مفتاحي العميل العام والخاص. لتوفير مستوى أمان جيد، يجب تقييد الوصول إلى المفتاح الخاص. ولأن المفتاح الخاص يُخزّن لدى العميل ولا يُنقل عبر الشبكة، تُعتبر هذه الطريقة أكثر أمانًا.
المصادقة بالمفتاح على Linux
لنُنشئ مفاتيح عامة وخاصة على جهاز العميل باستخدام برنامج ssh-keygen. ستقترح الأداة تغيير مسار المفتاح الخاص وإدخال عبارة مرور لمزيد من الأمان. اترك جميع المعلمات افتراضيًا بالضغط على Enter عند جميع الطلبات.
ونتيجة لذلك، في الدليل الرئيسي في مجلد .ssh ستجد ملفين تم إنشاؤهما: id_rsa و id_rsa.pub التي تحتوي على مفاتيح خاصة وعامة وفقًا لذلك.
بعد ذلك، ستحتاج إلى إرسال المفتاح العام إلى الخادم. للقيام بذلك، انسخ محتوى "id_rsa.pub"ملف في"~ / .ssh / author_keysملف على الخادم. لنبدأ بالطريقة الأسهل بمساعدة "سه-نسخة معرفأداة. أدخل اسم المستخدم وعنوان IP الخاص بالخادم، كما هو الحال في الاتصال العادي. بعد إدخال كلمة المرور، سيتم نسخ المفتاح العام للعميل تلقائيًا إلى الخادم. شغّل هذا الأمر:
ssh-copy-id [email protected]
بعد الانتهاء من كل ذلك، لن يتطلب الخادم إدخال كلمة المرور بعد الآن.
المصادقة بالمفتاح على Windows
ساعات العمل المعجون ثم انقر فوق "توليدلتوليد المفاتيح، كل ما عليك فعله هو تحريك الماوس فوق الشاشة وسوف تقوم الأداة بتوليد المفاتيح بشكل عشوائي.
بعد إنشاء المفاتيح، انقر فوق "حفظ المفتاح الخاصواحفظه في الملف الذي يحتوي على المفتاح الخاص على قرصك. يمكنك تحديد أي مسار تريده، ولكن ستحتاج لاحقًا إلى تحديده في Putty. ثم انسخ المفتاح العام من أعلى النافذة.
لنرسل المفتاح العام ببساطة عن طريق نسخه إلى المحطة. افتح المعجون واتصل بالخادم كالمعتاد. الآن لننشئ ".ssh / author_keys"ومنع المستخدمين الآخرين من الوصول إلى الملف، بحيث يكون متاحًا فقط لمنشئه.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
بعد إنشاء الملف، ضع المفتاح العام للعميل فيه. في المرحلة السابقة، نسخنا المفتاح العام إلى الحافظة. لتسجيل محتويات الحافظة في الملف، استخدم الأمر cat وأعد توجيه الإخراج.
cat > .ssh/authorized_keys
بعد إدخال الأمر، انقر بزر الماوس الأيمن في نافذة الطرفية والصق ما في الحافظة. لتأكيد الإدخال، اضغط على "CTRL + D"الاختصار وقطع الاتصال بالخادم.
الآن دعنا نحدد المسار إلى المفتاح الخاص في Putty ونتصل بالخادم مرة أخرى.
من الآن فصاعدًا، للاتصال بالخادم، ما عليك سوى إدخال اسم المستخدم. إذا كنت تحاول الاتصال بالخادم من جهاز آخر لا يملك المفتاح الخاص الصحيح، فسيطلب الخادم كلمة مرور. بعد إعداد المصادقة القائمة على المفتاح، يمكنك منع الوصول باستخدام كلمة المرور.