【问题标题】:Why does ansible throws error while encrypting the string?为什么ansible在加密字符串时会抛出错误?
【发布时间】:2022-07-21 21:56:03
【问题描述】:

当我在 red hat 7 发行版上的 ansible 2.9 版本上运行命令时 -

$ ansible-vault encrypt_string 'l3@TH!hFymu4b91!x[W!u[EL' 
New Vault password:  [ERROR]: User interrupted execution

$ ansible-vault encrypt_string '-w2kBT>ur=X{U`!43o&m'
usage: ansible-vault [-h] [--version] [-v]
                     {create,decrypt,edit,view,encrypt,encrypt_string,rekey}
                     ...
ansible-vault: error: unrecognized arguments: -w2kBT>ur=X{U`!43o&m

第一个命令成功,而第二个命令失败。是否与特殊字符有关。我的程序会自动生成密码,所以一次转义是没有用的!

注意:如果您尝试使用双引号使用波浪号传递该字符串,BaSh shell 也会引发一些错误。但是对于单引号,它不会抱怨。

【问题讨论】:

    标签: python linux bash ansible ansible-2.x


    【解决方案1】:

    第二个命令失败,因为encrypt_string 的参数看起来像一个命令行选项(因为它以- 开头)。与许多命令行工具一样,您可以使用 -- 标记告诉 ansible-vault 停止查找选项参数,如下所示:

    ansible-vault encrypt_string -- '-w2kBT>ur=X{U`!43o&m'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-01
      • 2021-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-26
      • 1970-01-01
      相关资源
      最近更新 更多