#ansible
#ansible
Вопрос:
Мне нужно, чтобы скрипт запрашивал пароль для включения после ввода в непривилегированном режиме в cisco ios. Пока это то, что у меня работает, но я не хочу вводить свой реальный пароль «включить» где-либо на моем компьютере.
---
- name: Basic Show Commands
hosts: cisco
gather_facts: False
connection: local
tasks:
- name: show run
ios_command:
commands:
- show run
provider:
authorize: yes
auth_pass: my_enable_password
register: show_run
- debug:
var: show_run.stdout_lines
- name: copy show run to file
local_action: copy content={{show_run.stdout[0]}} dest=/mnt/c/Ansible/show_run
Я запускаю playbook следующим образом:
ansible-playbook -u my_username -k /mnt/c/Ansible/show_run.yaml
Как мне это сделать?
Комментарии:
1. Рассматривали ли вы возможность использования одного из вариантов хранилища? У Ansible есть хранилище. Существуют также фильтры hashi_vault, а также несколько других, которые позволяют Ansible безопасно извлекать секреты во время выполнения.
2. TBH, я новичок в Ansible. Я читал об этом, но я хотел бы пока, по возможности, упростить его. Я надеюсь, что есть способ сделать это.
3. Проверьте ansible prompt в документации. Если у вас возникла конкретная проблема при реализации этого, отправьте новый вопрос.
Ответ №1:
Это очень старая тема, но ради кого-то нового, ищущего ответ, я сделал это-
ansible-playbook -u my_username --ask-pass --ask-become-pass /mnt/c/Ansible/show_run.yaml
Кроме того, в файле host,
[host_group:vars]
ansible_become=yes
ansible_become_method=enable
ansible_network_os=ios
Ответ №2:
Вариантом «заставить скрипт запрашивать пароль для включения» было бы использовать vars_prompt. Смотрите пример ниже
...
vars_prompt:
- name: "my_enable_password"
prompt: "Cisco auth_pass:"
tasks:
...