الدليل الكامل لملف Sshd_Config لنظام التشغيل Linux

Aldlyl Alkaml Lmlf Sshd Config Lnzam Altshghyl Linux



يتم استخدام بروتوكول SSH أو Secure Shell لتسجيل الدخول عن بُعد إلى جهاز وتشغيل الأوامر على الجهاز البعيد. يتم تشفير البيانات التي يتم نقلها باستخدام بروتوكول SSH بخوارزميات خاصة تجعل SSH أكثر أمانًا من Telnet. في الأساس ، OpenSSH هي أداة تنفذ هذا البروتوكول.

ماذا سنغطي؟

في هذا الدليل ، سوف نستكشف الجوانب المختلفة لملف تكوين خادم OpenSSH. لنبدأ الآن.







ملفات تكوين OpenSSH

هناك بعض الملفات الأساسية لكل من خادم وعميل OpenSSH. يحتوي على نوعين من ملفات التكوين:



1. الملفات المتعلقة بجانب العميل: أحد الملفات هو ssh_config. إنه ملف تكوين على مستوى النظام. هذا الملف موجود في / etc / ssh / ssh_config.



الملف الآخر هو config وهو عبارة عن ملف تكوين خاص بالمستخدم موجود في $ HOME / .ssh / config.





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

2. sshd_config: يتعلق بجانب الخادم. يقرأ خادم OpenSSH هذا الملف عند بدء تشغيله.



استكشاف sshd ملف الضبط

يحتوي ملف التكوين sshd على العديد من التوجيهات التي يمكن تخصيصها أيضًا. دعونا نلقي نظرة على التنسيق الافتراضي لهذا الملف:

$ قطة / إلخ / ssh / sshd_config


# هذا هو ملف تكوين نظام خادم sshd على مستوى النظام. نرى

# sshd_config (5) لمزيد من المعلومات.

ميناء 222
ListenAddress 0.0.0.0
الاستماع
HostKey / إلخ / ssh / ssh_host_key
ServerKeyBits 768
تسجيل الدخول 600

KeyRegeneration الفاصل الزمني 3600
PermitRootLogin نعم
تجاهل نعم
StrictModes نعم
X11 إعادة توجيه لا

AllowTcpForwarding لا
allowTY لا
X11 عرض الإزاحة 10
PrintMotd نعم
حافظ على حياتك نعم
مصادقة النظام

معلومات مستوى السجل
المصادقة لا
المصادقة لا
مصادقة RSA نعم
المصادقة كلمة المرور نعم
AllowEmptyPasswords لا
CheckMail لا


يتم اعتبار أي سطر يبدأ بـ '#' كتعليق. دعنا نستكشف بعض المعلمات المحددة:

1. يحدد توجيه المنفذ رقم المنفذ. هذا هو رقم المنفذ الذي عليه sshd يستمع للاتصالات. القيمة الافتراضية لهذا المنفذ هي 22 وهي القيمة القياسية. ومع ذلك ، في حالتنا ، قمنا بتغييرها إلى 222.

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

2. يحتوي ListenAddress على عنوان IP للاستماع إليه. الإجراء الافتراضي هو الاستماع على كل عناوين IP المرتبطة بالخادم. لاحظ أيضًا أن توجيه المنفذ يجب أن يخلف توجيه ListenAddress.

3. يتم تحديد المسار المؤهل بالكامل لملف مفتاح مضيف RSA الخاص بواسطة توجيه HostKey. في الحالة السابقة ، المسار هو / etc / ssh / ssh_host_key .

4. يسمح التوجيه PermitRootLogin بتسجيل الدخول إلى الجذر لـ sshd عند تعيينه على 'نعم'. يجب تعيين هذا على 'لا' ما لم يتم استخدام ملفات hosts.allow و hosts.deny لتقييد وصول sshd.

5. يسمح التوجيه X11Forwarding بإعادة توجيه X Window System عند ضبطه على 'نعم'.

6. أي مرفق Syslog يكون sshd يجب أن يتم تحديده باستخدام توجيه SyslogFacility. احتفظ بالقيمة الافتراضية كما هي.

7. يتم تحديد مستوى التسجيل لـ Syslog باستخدام التوجيه LogLevel.

تغيير sshd ميناء

بشكل افتراضي ، فإن ملف sshd أو يستخدم البرنامج الخفي لخادم OpenSSH المنفذ 22 من بروتوكول TCP. يوصى بتغيير رقم المنفذ هذا إلى قيمة أخرى في بيئة الاختبار. هذا يؤكد لنا أن اتصال الخادم متاح طوال الوقت.

أيضًا ، من الممارسات الجيدة التحقق من بناء جملة تكوين ملف sshd_config جديد قبل استخدامه ، بغض النظر عن المنفذ الذي يتم تشغيله عليه. للتحقق من بناء الجملة ، يمكننا استخدام الأمر التالي:

$ sshd -t


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

إذا لم يظهر أي ناتج عند تشغيل أمر التحقق من بناء الجملة السابق ، فهذا يعني أن الملف على ما يرام.

تعديل ملف التكوين الافتراضي والمنفذ

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

لنقم بإنشاء ملف sshd_config جديد مثل sshd_config_new. يمكن استخدام هذا الملف لبعض معلمات الخادم المختلفة. الآن ، دعنا نحدد هذا الملف ليتم اعتباره ملف تكوين الخادم الجديد على المنفذ رقم 100:

$ سودو / usr / سبين / sshd -F / إلخ / ssh / sshd_config_new -p 100


يستمع برنامج sshd الخفي الآن إلى المنفذ 100. يمكننا استخدام أي قيمة منفذ ما عدا القيمة المستخدمة بالفعل.

الآن ، دعنا نتحقق مما إذا كان المنفذ الجديد يعمل كما هو مطلوب. لهذا ، يتعين علينا استخدام برنامج عميل ssh وتشغيل الأمر التالي:

$ / usr / سلة مهملات / ssh -p 100 < IP من الخادم >



يحدد الخيار '-p' المنفذ 100 الذي سيتم استخدامه على الخادم البعيد. في حالة اختبارنا محليًا ، يمكننا استخدام IP للخادم ليكون عنوان IP المحلي:

$ / usr / سلة مهملات / ssh -p 100 127.0.0.1

استكشاف أخطاء تكوين OpenSSH وإصلاحها

في بعض الأحيان ، لا يعمل خادمنا بالشكل المطلوب. في مثل هذه الحالات ، يمكننا استخدام علامة '-d' لاستكشاف أخطاء تكوين خادم OpenSSH وإصلاحها. باستخدام العلامة '-d' ، يدخل الخادم في وضع التصحيح ويتعامل مع اتصال واحد فقط.

الإخراج الذي تم إنتاجه في وضع التصحيح مطوّل. يمكننا استخدام المزيد من العلامات '-d' لرفع مستوى التصحيح. لنقم بتشغيل الأمر debug على خادمنا باستخدام ملف التكوين الجديد:

$ / usr / سبين / sshd -p 100 -F / إلخ / ssh / sshd_config_new


الإخراج من سجلات الأوامر السابقة إلى stderr بدلاً من استخدام ميزة AUTH الخاصة بـ syslogd.

استنتاج

يعد OpenSSH daemon أو sshd جزءًا مهمًا من العديد من البنى التحتية الإدارية. على هذا النحو ، فإنه يتطلب خبرة لإدارتها من أجل التشغيل الأمثل. في هذه المقالة ، تعرفنا على ملف تكوين خادم OpenSSH مثل sshd_config.