web-dev-qa-db-fra.com

Ansible: ansible_user dans l'inventaire vs remote_user dans le playbook

J'essaie d'exécuter un playbook Ansible sur un serveur en utilisant un compte autre que celui que je suis connecté sur la machine de contrôle. J'ai essayé de spécifier un ansible_user dans le fichier d'inventaire selon la documentation sur Inventaire :

[srv1]
192.168.1.146 ansible_connection=ssh ansible_user=user1

Cependant Ansible a appelé avec ansible-playbook -i inventory playbook.yml -vvvv imprime ce qui suit:

GATHERING FACTS ***************************************************************
<192.168.1.146> ESTABLISH CONNECTION FOR USER: techraf

Ce qui a fonctionné pour moi a été d'ajouter le remote_user argument du playbook:

- hosts: srv1
  remote_user: user1

Maintenant, la même commande Ansible se connecte en tant que user1:

GATHERING FACTS ***************************************************************
<192.168.1.146> ESTABLISH CONNECTION FOR USER: user1

Ajoutant également remote_user variable à ansible.cfg oblige Ansible à utiliser l'utilisateur prévu au lieu de l'utilisateur connecté.

Les ansible_user dans le fichier d'inventaire et remote_user dans le playbook/ansible.cfg à des fins différentes?

Quel est le ansible_user utilisé pour? Ou pourquoi Ansible n'observe-t-il pas le paramètre dans l'inventaire?

16
techraf

Vous rencontrez probablement un problème commun: les documents ansible publiés sont pour la version de développement (2.0 en ce moment), et nous ne gardons pas les anciens. C'est un gros point de discorde ... En supposant que vous utilisez quelque chose avant la version 2.0, le nom de l'inventaire var dont vous avez besoin est ansible_ssh_user. ansible_user fonctionne en 2.0 (tout comme ansible_ssh_user- il est aliasé).

16
nitzmahone

J'ajoute généralement mon nom d'utilisateur distant dans /etc/ansible/ansible.cfg comme suit:

remote_user = MY_REMOTE_USERNAME

De cette façon, il n'est pas nécessaire de configurer ansible_user dans le fichier d'inventaire pour chaque entrée d'hôte.

4
user4212639