Используйте пароли ansible vault для паролей ask-become-pass и ssh

Я хотел бы использовать пароли ansible vault для ssh и стать паролями при запуске ansible-playbook. Таким образом, мне не нужно вводить их при использовании параметров --ask-become-pass или пароля ssh.

Проблема: каждый раз, когда я запускаю команду ansible-playbook, мне предлагается ввести ssh и ввести пароль.

Моя исходная команда, в которой мне нужно ввести SSH и стать паролем:

ansible-playbook playbook.yaml --ask-become-pass -e ansible_python_interpreter='/usr/bin/python3' -i inventory -k --ask-vault-pass -T 40

Команда Я попытался заставить ansible-playbook использовать мои пароли хранилища вместо того, чтобы вводить их:

ansible-playbook playbook.yaml -e ansible_python_interpreter='/usr/bin/python3' -i inventory -k -T 40 --extra-vars @group_vars/all/main.yaml

Я попытался создать структуру каталогов, из которой запускается команда group_vars/all/main.yaml, где main.yaml содержит мои пароли хранилища ansible для ansible_ssh_user, ansible_ssh_pass и ansible_become_pass.

Я даже пытался ввести свой пароль в команду:

ansible-playbook playbook.yaml -e ansible_python_interpreter='/usr/bin/python3' -i inventory -k -T 40 --extra-vars ansible_ssh_pass=$'"MyP455word"'

ansible-playbook playbook.yaml -e ansible_python_interpreter='/usr/bin/python3' -i inventory -k -T 40 --extra-vars ansible_ssh_pass='MyP455word'

Каждый раз, когда я запускаю свою команду playbook, мне постоянно предлагают пройти SSH и становится проходом. Что мне здесь не хватает?

Я уже прочитал эти два сообщения, оба из которых не были мне ясны в отношении точного процесса, поэтому ни один из них не помог: ssh-password-from-vault">https://serverfault.com/questions/686347/ansible-command-line-retriving-ssh-password-from-vault

Пароль хранилища Ansible в group_vars не обнаружен

Есть рекомендации?

РЕДАКТИРОВАТЬ: включая мой плейбук, роль, settings.yaml и файл инвентаря.

Вот моя книга игр:

- name: Enable NFS server
  hosts: nfs_server
  gather_facts: False
  become: yes
  roles:
    - { role: nfs_enable }

Вот роль, расположенная в roles/nfs_enable/tasks/main.yaml

- name: Include vars
  include_vars:
      file: ../../../settings.yaml
      name: settings

- name: Start NFS service on server
  systemd:
    state: restarted
    name: nfs-kernel-server.service

Вот мой файл настроек

#nfs share directory
nfs_ssh_user: admin
nfs_share_dir: "/nfs-share/logs/"

ansible_become_pass: !vault |
          $ANSIBLE_VAULT;1.1;AES256
          55543131373731393764333932626261383765326432613239356638616234643335643438326165
          3332363366623937386635653463656537353663326139360a316436356634386135653038643238
          61313123656332663232633833366133373630396434346165336337623364383261356234653461
          3335386135553835610a303666346561376161366330353935363937663233353064653938646263
          6539
ansible_ssh_pass: !vault |
          $ANSIBLE_VAULT;1.1;AES256
          55543131373731393764333932626261383765326432613239356638616234643335643438326165
          3332363366623937386635653463656537353663326139360a316436356634386135653038643238
          61313123656332663232633833366133373630396434346165336337623364383261356234653461
          3335386135553835610a303666346561376161366330353935363937663233353064653938646263
          6539

Вот мой инвентарь

[nfs_server]
10.10.10.10 ansible_ssh_user=admin ansible_ssh_private_key_file=~/.ssh/id_ed25519

person Dave    schedule 14.01.2021    source источник
comment
Вам предлагается пройти ssh из-за -k (сокращение от --ask-pass), и по крайней мере одна из ваших команд включает --ask-become-pass, что объясняет другое приглашение.   -  person mdaniel    schedule 14.01.2021
comment
Спасибо! это исправило ansible_ssh_pass, теперь он работает из моего конфигурационного файла. Однако мой playbook отказывается распознавать мой ansible_become_pass. Я продолжаю получать эту ошибку {"msg": "Missing sudo password"}. Если я ввожу пароль с помощью --ask-become-pass, он работает, но не узнает пароль из моей конфигурации. Любые идеи?   -  person Dave    schedule 14.01.2021
comment
Надеюсь, вы оцените тот уровень детализации, который вы предоставили, и на вас лежит бремя написания MCVE или как минимум включите код playbook, который, по вашему мнению, должен работать, а не только командные строки, поскольку детали yaml имеют большое значение   -  person mdaniel    schedule 14.01.2021
comment
@mdaniel, я обновил сообщение, включив в него свою книгу игр, роль, settings.yaml и файл инвентаря.   -  person Dave    schedule 15.01.2021