Ansible: ansible_user в инвентаре против remote_user в playbook

Я пытаюсь запустить Ansible playbook на сервере, используя учетную запись, отличную от той, которую я зарегистрирован на управляющей машине. Я попытался указать ansible_user в файле инвентаризации в соответствии с документацией по Inventory:

[srv1]
192.168.1.146 ansible_connection=ssh ansible_user=user1

Однако Ansible, вызванный с ansible-playbook -i inventory playbook.yml -vvvv, выводит следующее:

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

Что сработало для меня, так это добавление аргумента remote_user в playbook:

- hosts: srv1
  remote_user: user1

Теперь та же команда Ansible подключается как user1:

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

Кроме того, добавление переменной remote_user к ansible.cfg заставляет Ansible использовать предполагаемого пользователя вместо вошедшего в систему.

Являются ли ansible_user в файле инвентаря и remote_user в playbook / ansible.cfg для разных целей?

Для чего используется ansible_user? Или почему Ansible не соблюдает настройки в инвентаре?


person techraf    schedule 11.10.2015    source источник


Ответы (2)


Вы, вероятно, столкнетесь с общей проблемой: опубликованные доступные документы предназначены для версии для разработки (сейчас 2.0), а мы не храним старые. Это большой спор ... Предполагая, что вы используете что-то до версии 2.0, вам нужно имя переменной инвентаря ansible_ssh_user. ansible_user работает в версии 2.0 (как и ansible_ssh_user - в ней используется псевдоним).

person nitzmahone    schedule 14.10.2015
comment
Изменение ansible_user на ansible_ssh_user сработало для меня с ansible 1.9.4. - person Yoshinori Kawasaki; 24.10.2015

Обычно я добавляю свое удаленное имя пользователя в /etc/ansible/ansible.cfg следующим образом:

remote_user = MY_REMOTE_USERNAME

Таким образом, не требуется настраивать ansible_user в файле инвентаризации для каждой записи хоста.

person user4212639    schedule 16.05.2017