密码中的特殊字符

问题描述 投票:2回答:5

我从一个加密的ansible-vault文件中读取了我的root密码。但是,当我在ansible_become_pass上使用它时,操作失败,因为密码包含特殊字符。在我的示例中,“

这是我的yml:

- hosts: sirius
  remote_user: ansusr
  become: yes
  vars_files:
     - vault_vars.yml
  become_pass: "{{ root_pass_sirius }}" 

ansible-playbook check.yml --ask-vault-pass

fatal: FAILED! => {"msg": "{{ TesT#1234 }}: template error while templating string: unexpected char '#' at 6. String: {{ TesT#1234 }}"}

如何屏蔽#字符?

python ansible ansible-2.x
5个回答
1
投票

在实际运行该加密命令之前使用set +H


0
投票

这可能有用。

become_pass: "{{ root_pass_sirius | regex_escape() }}" 

0
投票

尝试使用单引号而不是双引号:

become_pass: '{{ root_pass_sirius }}'

0
投票

您可以尝试的另一件事是引号过滤器:

become_pass: "{{ root_pass_sirius | quote }}" 

0
投票

尝试此"'"{{ }}"'"

或此$'{{ }}'

其Jinja模板

© www.soinside.com 2019 - 2024. All rights reserved.