मैं मौजूदा सर्वरों के समूह को प्रबंधित करने के लिए ansible का उपयोग करना चाहूंगा । मैंने एक ansible_hosts
फ़ाइल बनाई है , और -K
केवल एक होस्ट को लक्षित करने वाले आदेशों के साथ ( विकल्प के साथ) सफलतापूर्वक परीक्षण किया है
ansible -i ansible_hosts host1 --sudo -K # + commands ...
अब मेरी समस्या यह है कि प्रत्येक होस्ट पर उपयोगकर्ता के पासवर्ड अलग-अलग हैं, लेकिन मुझे इसे एंसेबल में संभालने का तरीका नहीं मिल रहा है।
का उपयोग करते हुए -K
, मुझे केवल एक ही sudo पासवर्ड के लिए प्रेरित किया जाता है, जो तब बिना किसी संकेत के सभी बाद के मेजबानों के लिए आज़माया हुआ लगता है:
host1 | ...
host2 | FAILED => Incorrect sudo password
host3 | FAILED => Incorrect sudo password
host4 | FAILED => Incorrect sudo password
host5 | FAILED => Incorrect sudo password
अब तक के शोध:
एक गलत उत्तर के साथ एक StackOverflow प्रश्न ("उपयोग
-K
") और लेखक द्वारा एक प्रतिक्रिया यह कहते हुए कि "मुझे पता है कि मुझे पासवर्ड की आवश्यकता है"Ansible डॉक्स , जो कहते हैं कि " पासवर्डलेस सूडो का उपयोग चीजों को स्वचालित करने में आसान बनाता है, लेकिन इसकी आवश्यकता नहीं है ।" (जोर मेरा)
यह सुरक्षा StackExchange प्रश्न जो इसे पढ़ता है
NOPASSWD
जो आवश्यक हैलेख "स्केलेबल और अंडरस्टैंडिंग प्रोविजनिंग ..." जो कहता है:
"रनिंग सूडो को एक पासवर्ड टाइप करने की आवश्यकता हो सकती है, जो कि आंसिबल को हमेशा के लिए अवरुद्ध करने का एक निश्चित तरीका है। एक साधारण फिक्स लक्ष्य होस्ट पर विडो को चलाने के लिए है, और यह सुनिश्चित करें कि उपयोगकर्ता द्वारा उपयोग किए जाने वाले लॉगिन को पासवर्ड टाइप करने की आवश्यकता नहीं है"
लेख "बेसिक अन्सिबल प्लेबुक" , जो कहता है
"Ansible लक्ष्य सर्वर में रूट के रूप में लॉग इन कर सकता है और sudo की आवश्यकता को टाल सकता है, या asible उपयोगकर्ता को पासवर्ड के बिना sudo देता है, लेकिन ऐसा करने का विचार या तो मेरे तिल्ली को मेरे गुलाल को छलांग लगाने और अपने विंडपाइप को ब्लॉक करने की धमकी देता है, इसलिए मैं नहीं है "
मेरे विचार बिल्कुल, लेकिन फिर एक सर्वर से आगे कैसे बढ़ा जाए?
ansible issue # 1227 , "Ansible को playbook में सभी उपयोगकर्ताओं के लिए sudo पासवर्ड मांगना चाहिए", जिसे एक वर्ष पहले mpdehaan ने टिप्पणी के साथ बंद कर दिया था "इसके लिए बहुत अधिक मांग नहीं देखी गई, मुझे लगता है कि ज्यादातर लोग केवल एक से sudo है उपयोगकर्ता खाता या कुंजियों का उपयोग ज्यादातर समय करता है। "
तो ... कैसे लोग इन जैसी स्थितियों में Ansible का उपयोग कर रहे हैं? स्थापना NOPASSWD
में /etc/sudoers
, मेजबान भर में पासवर्ड पुन: उपयोग या रूट SSH लॉगिन सक्षम करने सभी सुरक्षा में नहीं बल्कि कठोर कटौती लगते हैं।
sudo
(जिन्हें अभी भी पासवर्ड की आवश्यकता है)।
ansible_ssh_password
सेटिंग केवल SSH पासवर्ड के लिए लागू होता है (सुराग के नाम पर है ...)। और मैं पहले से ही कुंजी-आधारित SSH लॉगिन का उपयोग कर रहा हूं।