У меня есть 4 виртуальных машины, у которых есть разные пользователи ssh.Ansible - supply multiple ansible_become_pass = MYROOTPASSWORD
Для того, чтобы использовать анзибль манипулировать VMS я могу установить файл /etc/ansible/hosts
к этому:
someserver1 ansible_ssh_host=123.123.123.121 ansible_ssh_port=222 ansible_ssh_user=someuser1 ansible_ssh_pass=somepass1
someserver2 ansible_ssh_host=123.123.123.122 ansible_ssh_port=22 ansible_ssh_user=someuser2 ansible_ssh_pass=somepass2
someserver3 ansible_ssh_host=123.123.123.123 ansible_ssh_port=222 ansible_ssh_user=someuser3 ansible_ssh_pass=somepass3
someserver4 ansible_ssh_host=123.123.123.124 ansible_ssh_port=222 ansible_ssh_user=someuser4 ansible_ssh_pass=somepass4
Допустим, у меня есть этот сборник пьес, который делает только в ls
внутри /root
папки:
Используя этот вызов ansible-playbook -v my-playbook.yml --extra-vars='ansible_become_pass=xxx-my-secret-root-password-for-someserver1'
Я могу стать root на одной из моих машин, но не на всех.
Как можно поставить somepass2
, somepass3
и somepass4
?
Почему бы не просто положить 'ansible_become_pass' в строку в инвентаре, как вы уже сделали с паролем SSH? Или, если они действительно являются одним и тем же паролем, установите блок «all: vars», чтобы иметь «ansible_become_pass = ansible_ssh_pass» – ydaetskcoR
Не могли бы вы привести примеры для обоих? (Например, как писать x в 'hosts' и вызывать' y' из bash?) – kiltek