Я пытаюсь запустить 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 не соблюдает настройки в инвентаре?