如何在in I文件中使用加密变量(ansible_ssh_pass)?
你不能。
这个
documentation page you linked to
,似乎是大错特错。
首先,
!vault
标记和
|
输出中的字符
ansible-vault
属于YAML语法,它们不可能在INI格式的清单中工作。
而且,这个函数
AnsibleVaultEncryptedUnicode
,从而解密该值,
is called only from the YAML parser
,因此无法修改INI格式inventory中的值(如单行、无标记)。
您可以:
-
write your inventory in YAML
,全部或部分,如果使用目录并将库存拆分为多个文件
-
创建目录
group_vars
在与库存文件相同的目录中,放置一个文件
vyos.yml
里面有以下内容:
ansible_connection: network_cli
ansible_network_os: vyos
ansible_user: my_vyos_user
ansible_ssh_pass: !vault |
$ANSIBLE_VAULT;1.2;AES256;my_user
66386134653765386232383236303063623663343437643766386435663632343266393064373933
3661666132363339303639353538316662616638356631650a316338316663666439383138353032
63393934343937373637306162366265383461316334383132626462656463363630613832313562
3837646266663835640a313164343535316666653031353763613037656362613535633538386539
65656439626166666363323435613131643066353762333232326232323565376635