साल्टस्टैक - एसएसएच के माध्यम से नमक

नमक एक दूरस्थ प्रणाली में कमांड का उपयोग करके निष्पादित करता है salt-minion। यह सामान्य व्यवहार है। कुछ परिदृश्यों में, दूरस्थ प्रणाली को केवल SSH प्रोटोकॉल द्वारा ही एक्सेस किया जा सकता है। इन परिदृश्यों के लिए, नमक केवल SSH प्रोटोकॉल का उपयोग करके दूरस्थ सिस्टम को जोड़ने और SSH परत के माध्यम से कमांड निष्पादित करने का विकल्प प्रदान करता है।

Salt SSHकॉन्फ़िगर करना बहुत आसान है। केवल आवश्यक कॉन्फ़िगरेशन को दूरस्थ सिस्टम विवरण को एक विशेष फ़ाइल में निर्दिष्ट करना है जिसे कहा जाता हैRoster file। यह रोस्टर फ़ाइल सामान्य रूप से स्थित है/etc/salt/roster। रोस्टर फ़ाइल में रिमोट सिस्टम के बारे में सभी जानकारी होगी और हम इसे कैसे कनेक्ट कर सकते हैं। रोस्टर फ़ाइलों को कॉन्फ़िगर करने के बाद, सभी साल्ट कमांड का उपयोग करके निष्पादित किया जाता हैsalt-ssh नमक आदेश के बजाय।

रोस्टर फ़ाइल

रोस्टर सिस्टम विशेष रूप से साल्ट एसएसएच के लिए डिज़ाइन किया गया है। यह एक प्लग करने योग्य प्रणाली के रूप में डिज़ाइन किया गया है। रोस्टर प्रणाली का एकमात्र उद्देश्य दूरस्थ प्रणाली के बारे में जानकारी एकत्र करना है। रोस्टर फ़ाइल एक हैYAML based configuration file के रूप में दूरस्थ प्रणाली जानकारी युक्त targets। ये लक्ष्य एक विशेष डेटा संरचना है जिसमें विशेषताओं का पूर्वनिर्धारित सेट है। रोस्टर फ़ाइल में एक या अधिक लक्ष्य होते हैं और प्रत्येक लक्ष्य की पहचान aSalt ID

रोस्टर फ़ाइल की मूल संरचना इस प्रकार है -

<Salt ID>:
   host: <host name>
   user: <user name>
   passwd: <password of the user>

रोस्टर फ़ाइल द्वारा समर्थित अन्य सभी विशेषताएँ वैकल्पिक हैं। वे इस प्रकार हैं -

  • port - एसएसएच पोर्ट नंबर।

  • sudo - क्या sudo के माध्यम से कमांड चलाना है।

  • sudo_user - sudo उपयोगकर्ता नाम।

  • tty - सच अगर sudo सक्षम है।

  • priv - निजी कुंजी।

  • timeout - SSH कनेक्शन के लिए समय समाप्त।

  • minion_opts - मिनियन ऑप्स का शब्दकोश।

  • thin_dir - नमक घटकों के लिए लक्ष्य प्रणाली की भंडारण निर्देशिका।

  • cmd_umask - नमक-कॉल कमांड के लिए मजबूर करने के लिए umask।

नमूना रोस्टर फ़ाइल निम्नानुसार है -

web:
   host: 192.168.2.1
   user: webuser
   passwd: secret
   sudo: True   
db:
   host: 192.168.2.2

SSH कुंजी तैनात करें

साल्ट SSH SSH लॉगिन के लिए एक सार्वजनिक / निजी कुंजी जोड़े उत्पन्न करेगा। डिफ़ॉल्ट पथ /etc/salt/pki/master/ssh/salt-ssh.rsa होगा। इस कुंजी को रिमोट सिस्टम पर तैनात किया जा सकता हैssh-copy-id जैसा कि नीचे दिखाया गया है।

ssh-copy-id -i /etc/salt/pki/master/ssh/salt-ssh.rsa.pub [email protected]

आदेश निष्पादित करें

नमक आदेश को निष्पादित करना बदलने के रूप में सरल है salt cli में आज्ञा salt-ssh जैसा की नीचे दिखाया गया।

salt-ssh '*' test.ping

रॉ शेल कमांड

नमक एसएसएच नमक मॉड्यूल और कार्यों को दरकिनार करके दूरस्थ प्रणाली में एक कच्चे कमांड को निष्पादित करने के लिए एक विकल्प -r) प्रदान करता है।

salt-ssh '*' -r 'ls'

नमक एसएसएच के साथ लक्षित

साल्ट एसएसएच में दूरस्थ प्रणाली को लक्षित करना केवल ग्लोब और रेगेक्स लक्ष्यों का समर्थन करता है। चूंकि नमक एसएसएच एक अलग मॉड्यूल है, यह अब तक केवल सीमित विकल्प प्रदान करता है और निकट भविष्य में अधिक सुविधाएँ प्रदान करेगा।