पाठ 4 / 26
SSH, Become और ansible.cfg
SSH keys से जुड़ें, become से privileges बढ़ाएँ और ansible.cfg में project defaults तय करें।
Keys, users और privilege
Ansible आपका सामान्य SSH setup उपयोग करता है: key-आधारित login, remote user (ansible_user) और ~/.ssh/config। Passwords की जगह SSH keys चुनें। कई कामों को root चाहिए, इसलिए root से login करने की जगह उन tasks के लिए become: true (sudo) उपयोग करें। Project-स्तर की ansible.cfg inventory path और समानांतर connections की संख्या (forks) जैसे defaults तय करती है ताकि repo का हर command एक-सा चले।
छोटी ansible.cfg
इसे अपने playbooks के साथ commit करें। असली परिवेशों में host-key checking चालू रखें; केवल फेंकने योग्य labs में बंद करें।
[defaults]
inventory = inventory.ini
remote_user = deploy
forks = 10
retry_files_enabled = False
host_key_checking = True
[privilege_escalation]
become = False # opt in per play/task with become: true
become_method = sudoDeploy user को सिर्फ़ ज़रूरी sudo दें
ज़रूरी commands तक सीमित passwordless sudo वाला समर्पित automation user साझा root खाते से सुरक्षित है। उसकी SSH key बदलते रहें और सुरक्षित रखें।
त्वरित जाँच: जिस task को root चाहिए, उसे आम तौर पर वह कैसे मिलना चाहिए?
- Password से root login
- उस task या play पर become: true
- SSH बंद करना
- Chat में private key साझा करना
Answer
उस task या play पर become: true — प्रति-task privilege बढ़ाना connection user को डिफ़ॉल्ट रूप से अधिकार-रहित रखता है।