web-dev-qa-db-fra.com

comment spécifier le nom d'utilisateur dans le fichier Host de ansible

J'utilise le fichier Host comme ci-dessous,

[qa-workstations]
10.39.19.190 ansible_user=test ansible_ssh_pass=test

J'utilise la commande ci-dessous pour exécuter la commande "whoami" dans l'hôte

root@Svr:~/ansible# ansible all -a "whoami" -i /etc/ansible/Host
10.39.19.190 | success | rc=0 >>
root

ansible par défaut essayant d'utiliser le nom d'utilisateur dans lequel je me suis connecté, c'est-à-dire root au lieu de l'utilisateur de test que j'ai spécifié dans le fichier hôte

Cela fonctionne bien lorsque j'essaie de passer le nom d'utilisateur dans la commande ansible cli

root@Svr:~/ansible# ansible all -a "whoami" -i /etc/ansible/Host -u test
10.39.19.190 | success | rc=0 >>
test

Mais il ne m'est pas possible de transmettre le nom d'utilisateur à chaque fois dans la CLI car un hôte différent utilise un nom d'utilisateur différent. De plus, je n'ai pas de paire de clés générée pour chaque hôte, car la machine hôte change souvent

version utilisée:

 ansible 1.5.4 
 Ubuntu 14.04 LTS
12

Créez un ansible.cfg dans votre répertoire playbook ou modifiez le "global" ansible.cfg

Remarque: Un seul fichier de configuration est traité. Le premier gagne dans la liste ci-dessous. http://docs.ansible.com/ansible/intro_configuration.html

  • ANSIBLE_CONFIG (une variable d'environnement)
  • ansible.cfg (dans le répertoire courant)
  • .ansible.cfg (dans le répertoire personnel)
  • /etc/ansible/ansible.cfg
[defaults]
remote_user=test
8
chrism

Avec les versions récentes d'Ansible, vous pouvez utiliser le ansible_user paramètre dans la définition de l'hôte.

Par exemple, sur l'hôte mysql-Host.mydomain l'utilisateur avec lequel je dois me connecter est mysql:

[docker-hosts]
mysql-Host.mydomain ansible_user=mysql

Mais comme vous utilisez une ancienne version de ansible, vous devrez peut-être utiliser ansible_ssh_user au lieu

http://docs.ansible.com/ansible/faq.html#how-do-i-handle-different-machines-needing-different-user-accounts-or-ports-to-log-in- avec

20
Johnride