Ansible 未能创建网络(EOS/IOS)剧本以验证STIG要求
网络男孩假装“编码”…(此处插入笑声/羞耻)。 我试图创建一个充满STIG需求的剧本。我希望能够在网络设备上运行这个剧本,然后轻松地将结果复制到我们的.ckl文件中 如果不完全清楚的话,我使用Ansible还不到一个星期 *首先,我让ansible注册一个命令的输出。 *然后我希望ansible验证寄存器输出中的某些单词或短语。 *然后当然会有一个调试消息状态“不是查找{insert register here}”,或者“Open{insert register here}” 我似乎无法让“when{this pharse}(is(or not)in)register.stdout”工作 使用Ansible 2.9Ansible 未能创建网络(EOS/IOS)剧本以验证STIG要求,ansible,yaml,stig,Ansible,Yaml,Stig,网络男孩假装“编码”…(此处插入笑声/羞耻)。 我试图创建一个充满STIG需求的剧本。我希望能够在网络设备上运行这个剧本,然后轻松地将结果复制到我们的.ckl文件中 如果不完全清楚的话,我使用Ansible还不到一个星期 *首先,我让ansible注册一个命令的输出。 *然后我希望ansible验证寄存器输出中的某些单词或短语。 *然后当然会有一个调试消息状态“不是查找{insert register here}”,或者“Open{insert register here}” 我似乎无法让“wh
- hosts: ios
connection: network_cli
gather_facts: no
tasks:
- name: Gather Username Configuration Lines
ios_command:
commands: show run | i username localadmin
register: output
- debug:
msg: "{{ output.stdout }}"
- name: Username has correct privilege level
block:
- debug:
msg: "{{ output.stdout }}"
when: "'privilege 15' in output.stdout"
输出:
$ ansible-playbook ciscouserprivcheck.yml -u localadmin -k
SSH password:
PLAY [ios] *************************************************************************************************************************************
TASK [Gather Username Configuration Lines] *****************************************************************************************************
ok: [Cisco1]
TASK [debug] ***********************************************************************************************************************************
ok: [Cisco1] =>
msg:
- username localadmin privilege 15 secret 5 $1$o1t2$VoZhNwm3bMfsTJ6e8RIdl1
TASK [debug] ***********************************************************************************************************************************
skipping: [Cisco1]
PLAY RECAP *************************************************************************************************************************************
Cisco1 : ok=2 changed=0 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0
学习新东西没有什么丢脸的。我们都这么做!代码对我来说似乎是正确的。您使用的是什么版本的Ansible?在CentOS 7(64位)Ansible 2.9.6配置文件=/home/localadmin/NetworkAutomation/Project20/Ansible.cfg上运行此配置文件=[u'/home/localadmin/.Ansible/plugins/modules',u'/usr/share/Ansible/plugins/modules']ansible python模块位置=/usr/lib/python2.7/site-packages/ansible可执行文件位置=/usr/bin/ansible python版本=2.7.5(默认值,2019年8月7日,00:51:29)[GCC 4.8.5 20150623(Red Hat 4.8.5-39)]尝试将调试器添加到剧本文件中。在
主机
和连接
之间插入调试器:已跳过
。当您下次运行playbook和Ansible时,应在最后一个debug
任务停止,并请求您输入。您可以通过执行(debug)>p task_vars['vars']['hostvars']['localhost']['output']['stdout']
检查输出变量的值。不过,你应该用你的主机名替换localhost。学习新东西并没有什么丢脸的。我们都这么做!代码对我来说似乎是正确的。您使用的是什么版本的Ansible?在CentOS 7(64位)Ansible 2.9.6配置文件=/home/localadmin/NetworkAutomation/Project20/Ansible.cfg上运行此配置文件=[u'/home/localadmin/.Ansible/plugins/modules',u'/usr/share/Ansible/plugins/modules']ansible python模块位置=/usr/lib/python2.7/site-packages/ansible可执行文件位置=/usr/bin/ansible python版本=2.7.5(默认值,2019年8月7日,00:51:29)[GCC 4.8.5 20150623(Red Hat 4.8.5-39)]尝试将调试器添加到剧本文件中。在主机
和连接
之间插入调试器:已跳过
。当您下次运行playbook和Ansible时,应在最后一个debug
任务停止,并请求您输入。您可以通过执行(debug)>p task_vars['vars']['hostvars']['localhost']['output']['stdout']
检查输出变量的值。不过,您应该用主机名替换localhost。