Automation ansible保险库错误-“;Vault格式不精确错误:奇数长度字符串“;
我正在使用ansible凝固汽油弹,并试图编写一个简单的剧本,从网络设备中提取事实。 我想使用ansible vault加密密码,但无论我尝试了什么,都会不断出现错误: Vault格式不精确错误:奇数长度字符串 我最初是在Linux的Windows子系统下在bash中尝试这一点的,我认为这可能是问题所在,所以我在centos虚拟机上重新创建了所有内容,但仍然遇到同样的问题 我尝试使用加密字符串将加密的pw直接嵌入到剧本中。 我还尝试加密文件并调用变量。两种方法都会产生相同的错误 我发现这个问题: 我认为问题与CRLF行终止符有关,所以我对其进行了排序,并确保所有文件都是ASCII文本,但这仍然会产生相同的错误 我的代码如下,任何帮助都将非常感谢,因为我正在拔出我的头发Automation ansible保险库错误-“;Vault格式不精确错误:奇数长度字符串“;,automation,ansible,ansible-vault,Automation,Ansible,Ansible Vault,我正在使用ansible凝固汽油弹,并试图编写一个简单的剧本,从网络设备中提取事实。 我想使用ansible vault加密密码,但无论我尝试了什么,都会不断出现错误: Vault格式不精确错误:奇数长度字符串 我最初是在Linux的Windows子系统下在bash中尝试这一点的,我认为这可能是问题所在,所以我在centos虚拟机上重新创建了所有内容,但仍然遇到同样的问题 我尝试使用加密字符串将加密的pw直接嵌入到剧本中。 我还尝试加密文件并调用变量。两种方法都会产生相同的错误 我发现这个问题:
---
- name: napalm_facts
hosts: all
connection: local
gather_facts: no
tasks:
- name: get facts from device
napalm_get_facts:
hostname: "{{ ansible_host }}"
username: 'admin'
password: "{{ napalm_password }}"
dev_os: 'ios'
register: result
- name: print results
debug: msg="{{ result }}"
我尝试了以下方法,以供参考
ansible-vault encrypt vars/vaultpw.yml
我通过从以下帖子中获取建议,成功地将其分类:
首先感谢你的回复,这让我走上了正确的道路 你考虑过使用他们的“内联”风格吗?内联样式的另一个优点是,它让playbook读者了解其中定义了哪些变量,ansible vault加密变量/整个文件。yml也不一样。因此,您是否可以像您在问题中所发布的那样,使用
password123
来重现您的错误?我将帮助我们准确地了解您在什么情况下会遇到该错误,因此我尝试按照您的建议使用password123
,我得到了以下错误<代码>致命:[测试实验室开关]:失败!=>{“msg”:"无法将选项传递给模块,它们必须是JSON可序列化的我认为这是不同的,但是,因此我将尝试解决此错误并发布更新。因此,我设法更进一步。我现在可以运行playbook,但它失败了,出现以下错误。无法连接到设备:身份验证失败:无法连接CIco_ios x.x.x.x:22\n身份验证失败
与-vvv一起运行会给出以下输出:“密码”:“没有日志参数中指定的值”
ansible-vault encrypt_string password123 --ask-vault-pass