Ansible Ssh-Copy-Id

Ansible Ssh Copy Id



Ansible هي أداة أتمتة مجانية ومفتوحة المصدر تعمل على تبسيط إدارة التكوين ونشر التطبيقات على أجهزة متعددة.

يستخدم Ansible اللغة التصريحية لوصف الحالة المرغوبة للأنظمة ويتعامل تلقائيًا مع المهام المطلوبة لتحقيق تلك الحالة.

يستخدم Ansible SSH كطريقة اتصال افتراضية للاتصال بجهاز مستهدف. يوفر SSH قناة اتصال آمنة ومشفرة بين عقدة التحكم Ansible والمضيفين المستهدفين.







عادةً ما تكون الطريقة الأكثر شيوعًا لتكوين المصادقة المستندة إلى مفتاح SSH للمضيف الهدف هي أمر ssh-copy-id. يقوم الأمر بنسخ المفتاح العام لعقدة التحكم إلى ملف 'authorized_keys' الموجود على المضيف الهدف.



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



في مجتمع Ansible، لدينا إمكانية الوصول إلى دور ssh_id_copy الذي يسمح لنا بتخويل الأنظمة لمصادقة SSH بدون كلمة مرور.





يعالج هذا الدور إعداد مفاتيح SSH على الجهاز البعيد مما يسمح لنا بإنشاء ملف مخزون Ansible مع الجهاز البعيد. يمكننا بعد ذلك استدعاء أي قواعد لعب Ansible بسرعة ضد الجهاز البعيد.

دور Ssh_Copy_Id غير مقبول

يحتوي الدور على متغيرات تسمح لـ Ansible بتكوين مفاتيح SSH على المضيف البعيد. وتشمل هذه المتغيرات ما يلي:



اسم المضيف – يقوم بتعريف النظام البعيد المراد الاتصال به (FQDN أو IP).

اسم المستخدم – يحدد اسم المستخدم للاتصال بالنظام البعيد.

كلمة المرور – يقوم بتحديد كلمة المرور الخاصة بإسم المستخدم للاتصال بالنظام البعيد.

ssh_public_key - يحدد المسار المطلق لملف المفتاح العام لتكوينه على المضيف البعيد.

ميناء - يحدد منفذ SSH.

تثبيت دور Ssh_Copy_Id

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

كما ذكرنا سابقًا، فإن ssh_copy_id هو دور يقدمه المجتمع بواسطة Ryan. رابط المستودع موجود على النحو التالي:

https://github.com/ryankwilliams/ansible-ssh-copy-id

قبل أن نتمكن من استخدامه، نحتاج إلى التأكد من تثبيته عن طريق تشغيل الأمر التالي:

$ ansible-galaxy ثَبَّتَ rywillia.ssh-copy-id

مثال الاستخدام

بمجرد التثبيت، يمكننا استخدام الدور الموجود في دليل التشغيل كما هو موضح في ما يلي:

---
- اسم
: تكوين مصادقة SSH بدون كلمة مرور على جهاز بعيد
المضيفين
: مضيف محلي
يصبح
: نعم
الأدوار
:
- دور
: ryankwilliams.ssh_copy_id
لمن
:
اسم المضيف
: 172.168.112.23
اسم المستخدم
: أوبونتو
كلمة المرور
: كلمة المرور
ssh_public_key
: /home/debian12/.ssh/id_rsa.pub
ssh_port
: 22

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

خاتمة

في هذا البرنامج التعليمي التمهيدي، تعلمت كيف يمكنك الاستفادة من الأدوار والوحدات التي يوفرها المجتمع لتكوين مصادقة SSH بدون كلمة مرور على المضيفين البعيدين باستخدام Ansible Playbook.