Я хотел бы использовать пароли 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
-k
(сокращение от--ask-pass
), и по крайней мере одна из ваших команд включает--ask-become-pass
, что объясняет другое приглашение. - person mdaniel   schedule 14.01.2021{"msg": "Missing sudo password"}
. Если я ввожу пароль с помощью --ask-become-pass, он работает, но не узнает пароль из моей конфигурации. Любые идеи? - person Dave   schedule 14.01.2021