Назад | Перейти на главную страницу

Проблема с Sharp в хост-варах Ansible

Поскольку # считается комментарием в / etc / ansible / hosts, я не могу использовать пароль, содержащий четкое.

[hosts]
host1 ansible_ssh_user=user ansible_ssh_pass=userpass ansible_su_pass=My#Password

Затем с помощью необработанной команды:

$ ansible host1 -m raw -a "whoami" --su
host1 | FAILED | rc=1 >>

su: Authentication failure

Если я использую пароль без #, он работает нормально. Есть ли обходной путь?

Ты можешь использовать # встроенный, экранируя его с помощью \, т.е. ansible_su_pass=My\#Password. Убедитесь, что вы используете последнюю версию Ansible, поскольку синтаксический анализатор ini со временем эволюционировал.

В файле инвентаризации приведенный ниже пример дает желаемый результат.

[hosts:vars]
ansible_su_pass=My#Password

Но затем переменная связана со всеми хостами в группе хостов, поэтому лучше создать файл "/ etc / ansible / host_vars / host1" и поместить внутрь следующее:

ansible_su_pass: My#Password