我正在使用ansible-napalm,并试图编写一个简单的行动手册来从网络设备中提取事实。我想用ansible-vault对密码进行加密,但是不管我怎么尝试,我都会收到错误: Vault format unhexlify error: Odd length string
我最初是在Linux的Windows子系统下的bash中尝试的,我认为这可能是问题所在,所以我在centos虚拟机上重新创建了所有内容,但仍然遇到了相同的问题。
我已经尝试使用加密字符串将加密的pw直接嵌入到攻略中。我还尝试过加密文件和调用变量。这两种方法都会产生相同的错误。
我发现了这个问题:Ansible-vault errors with "Odd-length string"和我认为这个问题与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.ymlansible-vault encrypt_string password123 --ask-vault-pass发布于 2019-09-27 04:33:40
我通过接受这个帖子的建议来解决这个问题:Inline encrypted variable not JSON serializable首先感谢你的回复,它让我走上了解决这个问题的正确道路。
https://stackoverflow.com/questions/58119885
复制相似问题