gpt4 book ai didi

ansible - 如何在 INI 文件中使用加密变量 (ansible_ssh_pass)?

转载 作者:行者123 更新时间:2023-12-04 16:29:46 26 4
gpt4 key购买 nike

我正在阅读 this page如果我将以下文本放入 Inventory 文件夹中的文件中:

[vyos:vars]
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

我收到此错误消息

[WARNING]:  * Failed to parse /home/myuser/Ansible/Inventory/pwdtest
with ini plugin: /home/cristi/Ansible/Inventory/pwdtest:9: Expected
key=value, got: $ANSIBLE_VAULT;1.2;AES256;my_user

我认为问题归结为将多行字符串分配给 INI 文件中的变量

有人知道我该如何使用它吗?我可以在 YAML 文件格式中使用上面的内容,但我想保持一致性并在所有地方使用 YAML

最佳答案

How do I use an encrypted variable (ansible_ssh_pass) in an INI file?

你不能。

documentation page you linked to 似乎是公然错误的。

首先,ansible-vault输出中的!vault标签和|字符属于YAML语法,没有办法他们可以在 INI 格式的库存中工作。

似乎函数 AnsibleVaultEncryptedUnicode 会解密值 is called only from the YAML parser ,因此无法修改 INI 格式 list 中的值(如单行,无标签)。


您可以:

  • 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

关于ansible - 如何在 INI 文件中使用加密变量 (ansible_ssh_pass)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51771994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com