Wie lege ich einen Standard-SSH-Benutzer für alle Hosts in Ansible fest?

11

Ansible Version 2.1

Ich habe eine Inventardatei hosts

[nodes]
host1
host2
...

Und ein einfaches Spielbuch site.yml

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

Wenn ich gerade mit dem Spiel beginne,

ansible-playbook -i hosts site.yml -vvvv

Ich bekomme diesen Fehler für alle Hosts,

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

Beim Lesen des Ansible Inventory- Dokuments habe ich ansible_userder hostsDatei jedoch Folgendes hinzugefügt :

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

Dies löst den SSH CONNECTION UNREACHABLEFehler. Muss ich jedoch ansible_user=rootneben allen Hosts hinzufügen ? Oder gibt es einen einfacheren Weg, dies zu tun?

Howard Lee
quelle

Antworten:

11

Überprüfen Sie die Beispiel- / Standarddatei. ansible.cfgDiese finden Sie unter [defaults]:

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

Kommentieren Sie aus remote_userund stellen Sie den Benutzer auf das ein, als das Sie sich anmelden möchten.

Woher kommt Ansible ansible.cfg? Die gleiche Datei erklärt:

# 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
quelle
Dank @Deltik, würden Sie beantworten können diese ein als auch?
Howard Lee
@HowardLee: Ihre andere Frage basiert hauptsächlich auf Meinungen und passt nicht gut zu Super User.
Deltik
3

Eine andere Möglichkeit besteht darin --user, den Remote-SSH-Benutzer zu definieren. Geben Sie ein ansible-playbook --help, um mehr zu lesen. Dies ist mein typischer Befehl:

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

--ask-pass fordert Sie auf, das Passwort für einzugeben --user

Howard Lee
quelle