首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么ansible在加密字符串时抛出错误?

为什么ansible在加密字符串时抛出错误?
EN

Stack Overflow用户
提问于 2022-07-21 13:50:44
回答 1查看 107关注 0票数 1

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

代码语言:javascript
复制
$ 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也会抛出一些错误。但对于单引号,它不会抱怨。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-21 13:56:03

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

代码语言:javascript
复制
ansible-vault encrypt_string -- '-w2kBT>ur=X{U`!43o&m'

整个过程如下所示:

代码语言:javascript
复制
$ ansible-vault encrypt_string -- '-w2kBT>ur=X{U`!43o&m'
New Vault password:
Confirm New Vault password:
!vault |
          $ANSIBLE_VAULT;1.1;AES256
          38376339313764343364653131333536613738373863643230633761346331663837643664623237
          6138386635363661663562386430323061323831326534660a613837383263626336656332373464
          32306333303262653733626233383532373133663335343865373834653764313032333133663432
          6538306566373566610a353936663134326335373934643638333836643262363563333865366165
          63653736653733356261616431646538623736323139656531643137643234363237
Encryption successful
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73067462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档