Automation ansible保险库错误-“;Vault格式不精确错误:奇数长度字符串“;

Automation ansible保险库错误-“;Vault格式不精确错误:奇数长度字符串“;,automation,ansible,ansible-vault,Automation,Ansible,Ansible Vault,我正在使用ansible凝固汽油弹,并试图编写一个简单的剧本,从网络设备中提取事实。 我想使用ansible vault加密密码,但无论我尝试了什么,都会不断出现错误: Vault格式不精确错误:奇数长度字符串 我最初是在Linux的Windows子系统下在bash中尝试这一点的,我认为这可能是问题所在,所以我在centos虚拟机上重新创建了所有内容,但仍然遇到同样的问题 我尝试使用加密字符串将加密的pw直接嵌入到剧本中。 我还尝试加密文件并调用变量。两种方法都会产生相同的错误 我发现这个问题:

我正在使用ansible凝固汽油弹,并试图编写一个简单的剧本,从网络设备中提取事实。 我想使用ansible vault加密密码,但无论我尝试了什么,都会不断出现错误: Vault格式不精确错误:奇数长度字符串

我最初是在Linux的Windows子系统下在bash中尝试这一点的,我认为这可能是问题所在,所以我在centos虚拟机上重新创建了所有内容,但仍然遇到同样的问题

我尝试使用加密字符串将加密的pw直接嵌入到剧本中。 我还尝试加密文件并调用变量。两种方法都会产生相同的错误

我发现这个问题: 我认为问题与CRLF行终止符有关,所以我对其进行了排序,并确保所有文件都是ASCII文本,但这仍然会产生相同的错误

我的代码如下,任何帮助都将非常感谢,因为我正在拔出我的头发

---

- 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