这是我的剧本,收到身份验证失败的消息(是的,我的信是正确的)
---
- name: CHECK VERSION
hosts: all
gather_facts: no
vars:
creds:
hosts: all
username: "{{ ios_username }}"
password: "{{ ios_password }}"
vars_prompt:
- name: "ios_username"
prompt: "Your Username"
private: no
- name: "ios_password"
prompt: "Your Password"
private: yes
tasks:
- name: RUN SHOW VERSION
connection: network_cli
ios_command:
provider: "{{ creds }}"
commands: show version
host: "{{ inventory_hostname }}"
我真的不希望对这些设备(或任何设备)启用ssh密钥身份验证,以便对用户操作进行审核。有没有办法通过剧本来传递我的凭据?
答案 0 :(得分:0)
我认为您的麻烦是因为您在使用network_cli
连接,但同时也在使用ios_command: provider
。这是多余的,并且会造成混乱。只需使用network_cli
,因为provider
已过时。如果您使用network_cli
连接,则需要将这些变量传递到here列出的network_cli
插件变量中。
ansible_user: "{{ ios_username }}"
ansible_ssh_pass: "{{ ios_password }}"