ما هو SSH؟
يعني SSH البروتوكول الآمن (Secure Shell). باستخدام SSH، يمكنك الوصول إلى الأجهزة البعيدة بطريقة آمنة لأن الاتصال يكون مشفرًا. باستخدام أمر ssh من طرفية Linux، يمكننا الاتصال بخوادم Linux البعيدة والعمل كما لو كانت جهاز الكمبيوتر الخاص بنا. في نهاية هذا البرنامج التعليمي، يجب أن يكون لديك فهم كامل لكيفية استخدام SSH للاتصال بخادم بعيد في Ubuntu.
بنية الأمر
بنية الأمر هي القاعدة التي تحدد كيفية استخدام أمر ssh. يمكنك إعادة ترتيب البنية، ولكن يجب اتباع تنسيق مباشر. فيما يلي مثال على بنية استخدام أمر ssh:
|
1 |
ssh remote_host |
اسم النطاق أو عنوان IP الذي تريد الاتصال به هو remote_host كما هو موضح في الأمر أعلاه. تفترض هذه البنية أن اسم المستخدم الخاص بك على النظام البعيد ونظامك المحلي متطابقان. ومع ذلك، في حالة عدم تطابق أسماء المستخدمين، يمكنك الإشارة إلى ذلك باستخدام هذا الأمر:
|
1 |
ssh remote_username@remote_host |
ستحتاج إلى التحقق من هويتك عن طريق إدخال كلمة المرور فور اتصالك بالخادم. اكتب الأمر exit للعودة إلى جلستك المحلية.
كيفية تكوين SSH
يقع ملف تكوين sshd الرئيسي في Ubuntu في المسار /etc/ssh/sshd_config. إذا قمت بتغيير تكوين SSH، فستتغير إعدادات خادم SSHD تلقائيًا. قبل إجراء أي تكوين، تأكد من عمل نسخة احتياطية من الإصدار الحالي للملف باستخدام هذا الأمر:
|
1 |
sudo cp /etc/ssh/sshd_config{,.bak} |
استخدم محرر نصوص لفتحه:
|
1 |
sudo nano /etc/ssh/sshd_config |
يجب أن تترك معظم المعلمات كما هي في هذا الملف. ومع ذلك، هناك بعض الأشياء التي يجب عليك الانتباه إليها:
|
1 |
Port 22 |
تشير تصريحات المنفذ (Port) إلى المنفذ الذي ينتظر خادم SSHD الاتصالات عليه. الافتراضي هو 22. ما لم تكن هناك أسباب محددة، فلا داعي لتغيير هذا الإعداد:
|
1 2 3 |
HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key |
يشير تصريح مفتاح المضيف (HostKey) إلى مكان وجود مفتاح المضيف العام:
|
1 2 |
SyslogFacility AUTH LogLevel INFO |
يتم الإشارة إلى مستوى السجلات (logs) التي يجب تسجيلها بهذين العنصرين. إذا واجهت مشاكل في استخدام SSH، فإن الطريقة الممتازة لتحديد المشكلة هي زيادة مستوى السجلات:
|
1 2 3 |
LoginGraceTime 120 PermitRootLogin yes StrictModes yes |
تحدد هذه الخيارات بعض المعلومات لتسجيل الدخول لمنع تسجيل الدخول غير المصرح به عندما تكون ملفات التكوين غير آمنة:
|
1 2 |
X11Forwarding yes X11DisplayOffset 10 |
يُشار إلى تكوينات المعلمات هذه باسم وظائف إعادة توجيه X11 (X11 forwarding). بهذه الطريقة، يمكنك عرض واجهة المستخدم الرسومية (GUI) للنظام البعيد على النظام المحلي. يجب عليك تمكين هذا الخيار على الخادم أثناء الاتصال بخيار -X بـ عميل SSH.
بعد إجراء التغييرات، احفظ الملف وأغلقه بالضغط على CTRL-X ثم Y ثم اضغط على Enter. إذا قمت بتغيير الإعدادات في /etc/ssh/sshd_config، فيجب عليك إعادة تشغيل خادم sshd لتنفيذ التغيير:
|
1 |
sudo service ssh restart |
بالنسبة لأنظمة systemd مثل Ubuntu 16.04 أو Debian Jessie، استخدم هذا الأمر:
|
1 |
sudo systemctl restart ssh |
اختبر تغييراتك بدقة للتأكد من أن كل شيء يعمل بشكل مثالي. ربما يجب عليك إبقاء بعض الجلسات نشطة إذا قمت بإجراء أي تغييرات. بهذه الطريقة، يمكنك استعادة التكوين إذا لزم الأمر.
كيف تقوم بتسجيل الدخول إلى SSH باستخدام المفاتيح؟ من الجيد تسجيل الدخول إلى نظام بعيد باستخدام كلمة مرور. ومع ذلك، فمن الأفضل إعداد المصادقة القائمة على المفاتيح.
ما هي المصادقة القائمة على المفاتيح؟
تنشئ المصادقة القائمة على المفاتيح زوجين من المفاتيح يطلق عليهما المفتاح الخاص والمفتاح العام. يوجد المفتاح الخاص على كمبيوتر المستخدم ويتم حمايته وإبقاؤه سرياً. يمكن إتاحة المفتاح العام لأي شخص أو تخزينه على أي خادم تريد الوصول إليه. إذا حاولت الاتصال باستخدام زوج مفاتيح، فإن الخادم يستخدم المفتاح العام لإنشاء رسالة لكمبيوتر المستخدم. لا يمكن للمستخدم قراءة الرسالة إلا باستخدام المفتاح الخاص. ثم يرسل كمبيوتر المستخدم رداً إلى الخادم ويعرف الخادم أن المستخدم حقيقي. بعد إعداد المفتاح، تكتمل العملية بأكملها تلقائياً في الخلفية.
كيفية إنشاء مفاتيح SSH
يجب إنشاء مفاتيح SSH على الكمبيوتر الذي ترغب في تسجيل الدخول منه. عادةً ما يكون هذا هو جهاز الكمبيوتر المحلي الخاص بك. أدخل ما يلي في سطر الأوامر:
|
1 |
ssh-keygen -t rsa |
ثم، اقبل الإعدادات الافتراضية بالضغط على مفتاح ENTER. سيؤدي ذلك إلى إنشاء مفاتيحك في ~/.ssh/id_rsa.pub و ~/.ssh/id_rsa. بعد ذلك، اكتب الأمر أدناه للانتقال إلى دليل .ssh:
|
1 |
cd ~/.ssh |
هذه هي صلاحيات الملفات:
|
1 |
ls -l |

كما ترى، يمكن للمالك فقط قراءة ملف id_rsa والكتابة فيه. لذلك، يجب عليك الحفاظ عليه آمناً. ومع ذلك، يمكنك مشاركة ملف id_rsa.pub والحصول على الأذونات المناسبة لهذا النشاط. الخطوة التالية هي نقل المفتاح العام إلى الخادم باستخدام هذه الصيغة:
|
1 |
ssh-copy-id remote_host |
يبدأ هذا جلسة SSH ويجب عليك استخدام كلمة مرور للمصادقة. بعد إدخال كلمة المرور، سيتم نسخ مفتاحك العام إلى ملف المفاتيح المصرح بها الخاص بالخادم’ حتى تتمكن من تسجيل الدخول في المرة القادمة بدون كلمة مرور.
كيفية تعطيل المصادقة باستخدام كلمة المرور
إذا تم إنشاء مفتاح SSH، يمكنك تحسين أمان الخادم عن طريق تعطيل المصادقة باستخدام كلمة المرور فقط. يمكنك تسجيل الدخول إلى الخادم باستخدام المفتاح الخاص مع تثبيت المفتاح العام على الخادم بدلاً من استخدام وحدة التحكم.
ملاحظة: تأكد من تثبيت المفتاح العام على الخادم قبل المتابعة في هذه الخطوة. وإلا فسيتم حظرك!
افتح ملف تكوين sshd باستخدام هذا الأمر:
|
1 |
sudo nano /etc/ssh/sshd_config |
ابحث عن السطر الذي يقرأ فحص مصادقة كلمة المرور وأزل التعليق عنه بحذف علامة # من البداية. ثم يمكنك تغيير القيمة إلى “no”:
|
1 |
PasswordAuthentication no |
يتم تعيين PubkeyAuthentication و ChallengeResponseAuthentication افتراضياً ويجب أن تبدو كما يلي:
|
1 2 |
PubkeyAuthentication yes ChallengeResponseAuthentication no |
يجب ألا تغير هذين الإعدادين. بعد ذلك، احفظ الملف وأغلقه بمجرد إجراء التغييرات. بعد ذلك، استخدم الأمر أدناه لإعادة تشغيل خدمة SSH daemon:
|
1 |
sudo systemctl restart ssh |
أخيراً، لقد قمت بتعطيل المصادقة باستخدام كلمة المرور، ولا يمكن الوصول إلى الخادم الخاص بك إلا باستخدام المصادقة بمفتاح SSH.
الخاتمة
في هذا البرنامج التعليمي، أوضحنا لك كيفية استخدام SSH للاتصال بخادم عن بعد بشكل آمن في Ubuntu. يعد تعلم كيفية استخدام SSH أمراً أساسياً إذا كنت مسؤول نظام، لذا بعد إتقان هذا البرنامج التعليمي يمكنك الانتقال إلى وظائف أكثر تقدماً لـ SSH.
حوسبة سعيدة!
التعليقات
لا توجد تعليقات بعد. كن أول من يعلق.