Ansible Ssh-कॉपी-आईडी

Ansible Ssh Kopi A Idi



Ansible एक मुफ़्त और ओपन-सोर्स ऑटोमेशन टूल है जो कई मशीनों पर कॉन्फ़िगरेशन और एप्लिकेशन परिनियोजन के प्रबंधन को सरल बनाता है।

सिस्टम की वांछित स्थिति का वर्णन करने के लिए एन्सिबल घोषणात्मक भाषा का उपयोग करता है और उस स्थिति को प्राप्त करने के लिए आवश्यक कार्यों को स्वचालित रूप से संभालता है।

लक्ष्य मशीन से कनेक्ट करने के लिए Ansible डिफ़ॉल्ट कनेक्शन विधि के रूप में SSH का उपयोग करता है। SSH, Ansible नियंत्रण नोड और लक्ष्य होस्ट के बीच एक सुरक्षित और एन्क्रिप्टेड संचार चैनल प्रदान करता है।







आमतौर पर, लक्ष्य होस्ट के लिए SSH कुंजी-आधारित प्रमाणीकरण को कॉन्फ़िगर करने का सबसे आम तरीका ssh-copy-id कमांड है। कमांड नियंत्रण नोड की सार्वजनिक कुंजी को लक्ष्य होस्ट पर 'अधिकृत_की' फ़ाइल में कॉपी करता है।



हालाँकि, किसी सिस्टम को पहली बार कॉन्फ़िगर करते समय, आपको इसे प्लेबुक में करने के लिए Ansible की आवश्यकता हो सकती है। यहीं पर एन्सिबल समुदाय बचाव के लिए आता है।



Ansible समुदाय में, हमारे पास ssh_id_copy भूमिका तक पहुंच है जो हमें पासवर्ड रहित SSH प्रमाणीकरण के लिए सिस्टम को अधिकृत करने की अनुमति देती है।





यह भूमिका रिमोट मशीन पर SSH कुंजियों के सेटअप को संभालती है जो हमें रिमोट मशीन के साथ एक Ansible इन्वेंट्री फ़ाइल बनाने की अनुमति देती है। फिर हम रिमोट मशीन के विरुद्ध किसी भी Ansible प्लेबुक को तुरंत कॉल कर सकते हैं।

Ansible Ssh_Copy_Id भूमिका

भूमिका में वेरिएबल हैं जो Ansible को दूरस्थ होस्ट पर SSH कुंजियों को कॉन्फ़िगर करने की अनुमति देते हैं। ऐसे चरों में शामिल हैं:



होस्ट का नाम - यह (FQDN या IP) से कनेक्ट करने के लिए रिमोट सिस्टम को परिभाषित करता है।

उपयोगकर्ता नाम - यह रिमोट सिस्टम से कनेक्ट करने के लिए उपयोगकर्ता नाम निर्दिष्ट करता है।

पासवर्ड - यह रिमोट सिस्टम से कनेक्ट करने के लिए यूजरनेम का पासवर्ड परिभाषित करता है।

ssh_public_key - यह दूरस्थ होस्ट पर कॉन्फ़िगर करने के लिए सार्वजनिक कुंजी फ़ाइल के पूर्ण पथ को परिभाषित करता है।

पत्तन - यह SSH पोर्ट को परिभाषित करता है।

Ssh_Copy_Id भूमिका स्थापित करना

सावधानी: हम समुदाय-संचालित भूमिकाओं और मॉड्यूल की वैधता और सुरक्षा प्रदान नहीं कर सकते। कृपया उत्पादन और वास्तविक मशीनों पर उपयोग करने से पहले किसी भूमिका/मॉड्यूल की कार्यप्रणाली का ऑडिट और सत्यापन करें। इस पोस्ट में बताए गए चरणों के साथ काम करते समय किसी सुरक्षा की गारंटी नहीं है।

जैसा कि उल्लेख किया गया है, ssh_copy_id एक समुदाय-प्रदत्त भूमिका है जो रयान द्वारा प्रदान की जाती है। रिपॉजिटरी का लिंक इस प्रकार दिया गया है:

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

इससे पहले कि हम इसका उपयोग कर सकें, हमें यह सुनिश्चित करना होगा कि यह निम्नलिखित कमांड चलाकर स्थापित है:

$ ansible-आकाशगंगा स्थापित करना rywillia.ssh-कॉपी-आईडी

उदाहरण उपयोग

एक बार इंस्टॉल हो जाने पर, हम प्लेबुक में भूमिका का उपयोग कर सकते हैं जैसा कि निम्नलिखित में दिखाया गया है:

---
- नाम
: रिमोट मशीन पर पासवर्ड रहित एसएसएच प्रमाणीकरण कॉन्फ़िगर करें
मेजबान
: स्थानीय होस्ट
बनना
: हाँ
भूमिका
:
- भूमिका
: ryankwilliams.ssh_copy_id
किसका
:
होस्ट का नाम
: 172.168.112.23
उपयोगकर्ता नाम
: उबंटू
पासवर्ड
: पासवर्ड
ssh_public_key
: /home/debian12/.ssh/id_rsa.pub
ssh_port
: 22

पिछला उदाहरण प्लेबुक दर्शाता है कि पासवर्ड रहित एसएसएच प्रमाणीकरण स्थापित करने के लिए भूमिका का उपयोग कैसे करें, एक उपयोगकर्ता जिसे रिमोट मशीन में परिभाषित किया गया है।

निष्कर्ष

इस परिचयात्मक ट्यूटोरियल में, आपने सीखा कि कैसे आप एक अन्सिबल प्लेबुक का उपयोग करके दूरस्थ होस्ट पर पासवर्ड रहित एसएसएच प्रमाणीकरण को कॉन्फ़िगर करने के लिए समुदाय द्वारा प्रदान की गई भूमिकाओं और मॉड्यूल का लाभ उठा सकते हैं।