Come impostare un utente SSH predefinito per tutti gli host in Ansible?


11

Ansible versione 2.1

Ho un file di inventario hosts

[nodes]
host1
host2
...

E un semplice playbook site.yml

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

Se avessi appena iniziato il gioco,

ansible-playbook -i hosts site.yml -vvvv

Ottengo questo errore per tutti gli host,

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

Tuttavia, leggendo il documento di Inventario Ansible , ho aggiunto ansible_useral hostsfile,

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

Questo risolve l' SSH CONNECTION UNREACHABLEerrore. Tuttavia, devo aggiungere ansible_user=rootaccanto a tutti gli host? O c'è un modo più semplice per farlo?

Risposte:


11

Controlla il ansible.cfgfile esempio / predefinito e lo troverai sotto [defaults]:

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

Rimuovi il commento remote_usere imposta l'utente su ciò che desideri accedere come.

Dove arriva Ansible ansible.cfg? Lo stesso file spiega:

# 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

Grazie @Deltik, saresti in grado di rispondere anche a questo ?
Howard Lee,

@HowardLee: la tua altra domanda è principalmente basata sull'opinione e non adatta a Super User.
Deltik,

4

Un altro modo è utilizzare --userper definire l'utente remoto ssh. Digita ansible-playbook --helpper leggere di più. Questo è il mio tipico comando:

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

--ask-pass chiederà di inserire la password per --user


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.