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

如何在Ansible EE执行剧本前运行命令解锁Bitwarden Vault?

问题分析

你配置的exec.command实际是替换了ansible-navigator默认的执行命令(比如ansible-playbook),而非在剧本执行前额外运行解锁命令,因此你的Bitwarden登录命令根本没被执行,Vault自然处于锁定状态。

解决方案

以下是几种可行的配置方式:

方法1:使用ansible-navigator的pre-run脚本(推荐)

ansible-navigator 2.0及以上版本支持pre-run配置,可指定在EE内部、剧本执行前运行的命令或脚本。

修改ansible-navigator.yml:

ansible-navigator:
  execution-environment:
    container-engine: docker
    image: <image>:latest
    environment-variables:
      pass:
        - BW_PASSWORD
  pre-run:
    command: "export BW_SESSION=$(bw login <mail> --raw --passwordenv BW_PASSWORD)"

如果需要复杂逻辑,可将命令写成shell脚本,挂载到EE中后指定脚本路径作为pre-run.command。

方法2:自定义Execution Environment镜像

若需长期复用解锁逻辑,可自定义EE镜像,将登录命令整合到镜像的entrypoint:

  1. 创建Containerfile:
FROM <your-base-ee-image>:latest

# 若基础镜像未安装bw-cli,执行安装
RUN pip install bw-cli

# 添加自定义entrypoint脚本
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

ENTRYPOINT ["/entrypoint.sh"]
  1. 编写entrypoint.sh:
#!/bin/bash
# 执行Bitwarden登录并设置会话变量
export BW_SESSION=$(bw login <mail> --raw --passwordenv BW_PASSWORD)
# 传递后续执行命令(如ansible-playbook)
exec "$@"
  1. 构建镜像后,在ansible-navigator配置中使用该自定义镜像。

方法3:在Ansible剧本中使用pre_tasks

在剧本开头添加pre_tasks,在EE内部的localhost节点执行登录命令,并将BW_SESSION设为全局环境变量:

- name: 解锁Bitwarden Vault
  hosts: localhost
  gather_facts: false
  pre_tasks:
    - name: 登录Bitwarden获取会话
      shell: bw login <mail> --raw --passwordenv BW_PASSWORD
      environment:
        BW_PASSWORD: "{{ lookup('env', 'BW_PASSWORD') }}"
      register: bw_session
    - name: 设置BW_SESSION环境变量
      set_fact:
        ansible_env: "{{ ansible_env | combine({'BW_SESSION': bw_session.stdout}) }}"
  tasks:
    - name: 获取Bitwarden密码
      debug:
        msg: "{{ lookup('community.general.bitwarden', '<title>', field='password') }}"

需确保剧本运行时localhost指向EE内部节点,且环境变量能传递给查找插件。

验证要点
  • 确认EE镜像已安装bw-cli工具,否则登录命令会失败
  • 检查BW_PASSWORD是否正确传入EE,可在pre-run或pre-tasks中添加echo $BW_PASSWORD验证
  • 登录后可执行bw status确认Vault是否已解锁

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 22:16:11