ذكري المظهر

باستخدام ملف التكوين ssh

دعم الشبكات المحلية | الوحدة الخامسة : تكوين المحول | تكوين إعدادات بروتوكول SSH على المحول

دعم الشبكات المحلية | الوحدة الخامسة : تكوين المحول | تكوين إعدادات بروتوكول SSH على المحول

جدول المحتويات:

Anonim

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

يغطي هذا الدليل أساسيات ملف تكوين عميل SSH ويشرح بعض خيارات التكوين الأكثر شيوعًا.

المتطلبات الأساسية

نحن نفترض أنك تستخدم نظام Linux أو نظام MacOS مع تثبيت عميل OpenSSH.

SSH ملف التكوين الموقع

ملف التكوين من جانب العميل OpenSSH يدعى config ، ويتم تخزينه في دليل .ssh ضمن الدليل الرئيسي للمستخدم.

يتم إنشاء دليل ~/.ssh تلقائيًا عندما يقوم المستخدم بتشغيل الأمر ssh لأول مرة. إذا كان الدليل غير موجود على نظامك ، فقم بإنشائه باستخدام الأمر التالي:

mkdir -p ~/.ssh && chmod 700 ~/.ssh

بشكل افتراضي ، قد لا يكون ملف تكوين SSH موجودًا ، لذا قد تحتاج إلى إنشائه باستخدام الأمر touch:

touch ~/.ssh/config

يجب أن يكون هذا الملف قابلاً للقراءة والكتابة فقط بواسطة المستخدم ، ولا يمكن للآخرين الوصول إليه:

chmod 600 ~/.ssh/config

SSH التكوين ملف هيكل وأنماط

يأخذ ملف التكوين SSH البنية التالية:

Host hostname1 SSH_OPTION value SSH_OPTION value Host hostname2 SSH_OPTION value Host * SSH_OPTION value

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

المسافة البادئة غير مطلوبة ولكن يوصى بها لأنه يجعل الملف أسهل في القراءة.

يمكن أن يحتوي توجيه Host على نقش واحد أو قائمة أنماط مفصولة بمسافات بيضاء. يمكن أن يحتوي كل نقش على صفر أو أكثر من أحرف غير بيضاء أو أحد محددات الأنماط التالية:

  • * - يطابق الصفر أو أكثر من الأحرف. على سبيل المثال ، يطابق Host * جميع المضيفين ، في حين أن 192.168.0.* يطابق المضيفين في الشبكة الفرعية 192.168.0.0/24 . ? - يطابق بالضبط شخصية واحدة. النمط ، Host 10.10.0.? يطابق جميع المضيفين في 10.10.0. نطاق. ! - عند استخدامه في بداية النموذج ، فإنه يلغي المباراة. على سبيل المثال ، Host 10.10.0.* !10.10.0.5 أي مضيف في الشبكة الفرعية 10.10.0.5 باستثناء 10.10.0.5 .

يقرأ عميل SSH مقطع التهيئة stanza بواسطة stanza ، وإذا كان هناك أكثر من نقش متطابق ، فإن الخيارات من أول مقطع مطابق لها الأسبقية. لذلك ، يجب إعطاء المزيد من الإعلانات الخاصة بالمضيف في بداية الملف ، وتجاوزات عامة في نهاية الملف.

يمكنك العثور على قائمة كاملة بخيارات ssh المتاحة عن طريق كتابة man ssh_config في جهازك أو عن طريق زيارة صفحة man ssh_config.

تتم قراءة ملف التكوين SSH أيضًا بواسطة برامج أخرى مثل scp و sftp و rsync .

مثال ملف التكوين SSH

الآن وبعد أن قمنا بتغطية الأساس لملف تكوين SSH ، دعونا نلقي نظرة على المثال التالي.

عادة ، عند الاتصال بخادم بعيد عبر SSH ، يمكنك تحديد اسم المستخدم البعيد واسم المضيف والمنفذ. على سبيل المثال ، لتسجيل الدخول كمستخدم يدعى john إلى مضيف يسمى dev.example.com على المنفذ 2322 من سطر الأوامر ، يمكنك كتابة:

ssh [email protected] -p 2322

للاتصال بالخادم باستخدام نفس الخيارات كما هو موضح في الأمر أعلاه ببساطة عن طريق كتابة ssh dev ، ضع الأسطر التالية في ملف "~/.ssh/config الخاص بك:

~ /.ssh / التكوين

Host dev HostName dev.example.com User john Port 2322

الآن عندما تكتب ssh dev ، فإن العميل ssh سيقرأ ملف التكوين ويستخدم تفاصيل الاتصال المحددة لمضيف dev :

ssh dev

مثال ملف التكوين SSH المشترك

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

لنأخذ ملف المثال التالي:

Host targaryen HostName 192.168.1.10 User daenerys Port 7654 IdentityFile ~/.ssh/targaryen.key Host tyrell HostName 192.168.10.20 Host martell HostName 192.168.10.50 Host *ell user oberyn Host * !martell LogLevel INFO Host * User root Compression yes

  • عندما تكتب ssh targaryen ، فإن عميل ssh يقرأ الملف ويطبق الخيارات من المطابقة الأولى ، وهي Host targaryen . ثم يتحقق من المقاطع التالية واحدة تلو الأخرى لنمط مطابقة. المطابقة التالية هي Host * !martell (بمعنى جميع المضيفين باستثناء martell ) ، وسيتم تطبيق خيار الاتصال من هذا المقطع الصوتي. يتطابق أيضًا التعريف الأخير مع Host * ، لكن العميل ssh سيأخذ خيار Compression فقط لأن خيار User محدد بالفعل في مقطع Host targaryen .

    القائمة الكاملة للخيارات المستخدمة عند كتابة ssh targaryen هي كما يلي:

    HostName 192.168.1.10 User daenerys Port 7654 IdentityFile ~/.ssh/targaryen.key LogLevel INFO Compression yes

    عند تشغيل ssh tyrell تكون أنماط المضيف المطابقة هي: Host tyrell و Host *ell و Host * !martell و Host * . الخيارات المستخدمة في هذه الحالة هي:

    HostName 192.168.10.20 User oberyn LogLevel INFO Compression yes

    HostName 192.168.10.50 User oberyn Compression yes

    بالنسبة لجميع الاتصالات الأخرى ، سيستخدم عميل ssh الخيارات المحددة في قسم Host * !martell و Host * .

تجاوز خيار ملف تكوين SSH

يقرأ العميل ssh التكوين الخاص به في ترتيب الأسبقية التالي:

  1. الخيارات المحددة من سطر الأوامر. الاختيارات المعرفة في ~/.ssh/config الاختيارات المعرفة في /etc/ssh/ssh_config .

Host dev HostName dev.example.com User john Port 2322

وتريد استخدام جميع الخيارات الأخرى ولكن للاتصال root مستخدم بدلاً من john ببساطة حدد المستخدم في سطر الأوامر:

ssh -o "User=root" dev

يسمح لك الخيار -F ( configfile ) بتحديد ملف تكوين بديل لكل مستخدم.

لإعلام عميل ssh بتجاهل جميع الخيارات المحددة في ملف تكوين ssh ، استخدم:

ssh -F /dev/null [email protected]

استنتاج

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

افتراضيًا ، يستمع SSH على المنفذ 22. يؤدي تغيير منفذ SSH الافتراضي إلى إضافة طبقة إضافية من الأمان إلى الخادم الخاص بك عن طريق تقليل مخاطر الهجمات الآلية.

محطة سه