You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在tower-cli中请求Ansible Vault密码以解决解密失败问题?

在tower-cli中提供Ansible Vault密码的解决方案

tower-cli本身不支持--ask-vault-pass参数(该参数仅适用于本地执行的ansible-playbook),要解决解密失败问题,可通过以下几种方式实现:

方式一:复用Tower中已创建的Vault凭证

  1. 确认你已经在Ansible Tower图形界面中创建了Vault类型的凭证(即之前启动任务时手动选择的凭证),记录下凭证的ID或名称
  2. 执行tower-cli job launch命令时,通过--credential参数指定该Vault凭证:
    tower-cli job launch --job-template <你的任务模板ID或名称> --credential "Vault凭证名称"
    
    示例:
    tower-cli job launch --job-template "Web服务部署" --credential "Production Vault密钥"
    
    这种方式会让Tower自动调用凭证中的Vault密码完成解密,无需手动输入。

方式二:通过环境变量传递Vault密码

如果不想复用Tower中的凭证,可以通过环境变量临时传递密码:

  • 直接传递密码(注意:此方式密码会暴露在系统进程列表中,仅适合测试环境):
    ANSIBLE_VAULT_PASSWORD="你的Vault密码" tower-cli job launch --job-template <模板ID或名称>
    
  • 更安全的方式是使用密码文件:
    1. 创建临时密码文件(注意设置权限避免其他用户读取):
      echo "你的Vault密码" > /tmp/vault-pass.tmp
      chmod 600 /tmp/vault-pass.tmp
      
    2. 设置环境变量指向该文件后执行命令:
      ANSIBLE_VAULT_PASSWORD_FILE=/tmp/vault-pass.tmp tower-cli job launch --job-template <模板ID或名称>
      
    3. 执行完成后删除临时文件:
      rm /tmp/vault-pass.tmp
      

方式三:预先在Job Template中关联Vault凭证

  1. 登录Ansible Tower图形界面,找到对应的Job Template
  2. 在模板的Credentials配置项中,添加你已创建的Vault凭证并保存
  3. 之后使用tower-cli启动任务时,无需额外参数,模板会自动使用关联的Vault凭证完成解密:
    tower-cli job launch --job-template <模板ID或名称>
    

内容的提问来源于stack exchange,提问作者Gabriel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 14:54:23