सभी होस्ट के लिए डिफॉल्ट ssh यूजर को कैसे सेट करें?


10

उत्तर देने योग्य संस्करण 2.1

मेरे पास इन्वेंट्री फाइल है hosts

[nodes]
host1
host2
...

और एक साधारण प्लेबुक site.yml

---
- hosts: all
  tasks:
    - include: tasks/main.yml

अगर मैं सिर्फ नाटक शुरू करूं,

ansible-playbook -i hosts site.yml -vvvv

मुझे सभी मेजबानों के लिए यह त्रुटि मिली है,

ESTABLISH SSH CONNECTION FOR USER: None
fatal: [host1]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh.", "unreachable": true}
...

हालांकि, पढ़ने Ansible इन्वेंटरी डॉक, मैं जोड़ा ansible_userकरने के लिए hostsफ़ाइल,

[nodes]
host1    ansible_user=root
host2    ansible_user=root
...

यह SSH CONNECTION UNREACHABLEत्रुटि को हल करता है। हालाँकि, क्या मुझे ansible_user=rootसभी मेजबानों के आगे जोड़ना होगा? या ऐसा करने का एक सरल तरीका है?

जवाबों:


10

उदाहरण / डिफ़ॉल्ट ansible.cfgफ़ाइल की जाँच करें , और आपको यह मिलेगा [defaults]:

# default user to use for playbooks if user is not specified
# (/usr/bin/ansible will use current user as default)
#remote_user = root

जिसको remote_userआप लॉग इन करना चाहते हैं, उसे Uncomment और सेट करें।

अन्सिबल कहां मिलता है ansible.cfg? एक ही फाइल बताते हैं:

# nearly all parameters can be overridden in ansible-playbook 
# or with command line flags. ansible will read ANSIBLE_CONFIG,
# ansible.cfg in the current working directory, .ansible.cfg in
# the home directory or /etc/ansible/ansible.cfg, whichever it
# finds first

धन्यवाद @Deltik, आप जवाब देने में सक्षम हो जाएगा इस एक के रूप में अच्छी तरह से?
हॉवर्ड ली

@ हॉवर्डली: आपका अन्य प्रश्न मुख्य रूप से राय आधारित है और सुपर यूजर के लिए अच्छा नहीं है।
20

2

एक अन्य तरीका --userदूरस्थ ssh उपयोगकर्ता को परिभाषित करने के लिए उपयोग करना है। ansible-playbook --helpअधिक पढ़ने के लिए लिखें । यह मेरा विशिष्ट आदेश है:

ansible-playbook -i hosts site.yml --user <user> --ask-pass -vvvv

--ask-pass के लिए पासवर्ड दर्ज करने के लिए संकेत देगा --user


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.