在 Ansible 中,可以使用 expect
模块来处理需要输入密码的情况。以下是一个示例的解决方法:
- name: Execute command with enable password prompt
hosts: cisco_ios
gather_facts: no
tasks:
- name: Send enable password
expect:
command: show version
responses:
Password:
- "{{ enable_password }}"
register: result
- name: Print command output
debug:
var: result.stdout_lines
在上面的示例中,expect
模块用于发送命令并处理密码提示。首先,它发送 show version
命令,然后在遇到 Password:
提示时,自动输入变量 enable_password
中定义的启用密码。
你需要将 cisco_ios
替换为适用于你的目标主机的主机组。
另外,请确保在运行 Ansible 脚本时提供了正确的 enable_password
变量,可以通过命令行参数或在 Ansible 变量文件中定义。