Bitwarden Vault CLI(简称 bw)是一个功能强大的命令行工具,用于安全地访问和管理 Bitwarden 密码库中的敏感信息。它允许开发者和系统管理员通过脚本或自动化流程以编程方式检索密码、一次性验证码(TOTP)、用户名以及其他加密笔记等机密数据。与图形界面不同,CLI 提供了更灵活的操作方式,尤其适合集成到 CI/CD 流水线、运维脚本或本地开发环境中。使用该工具时,必须在一个专用的 tmux 会话中运行命令,以确保身份验证后的会话密钥(BW_SESSION)在整个操作过程中保持有效。首次使用前需确认 CLI 已安装,并通过 `bw login` 或 `bw unlock` 完成认证流程,之后即可在同一个会话中执行各种 vault 操作。
核心功能特点
- 支持多种身份验证方式:包括邮箱/密码登录、API 密钥以及单点登录(SSO),满足不同企业环境和自动化场景的需求
- 提供完整的密码库访问能力:可获取密码、用户名、TOTP 令牌、自定义字段及完整项目 JSON 数据
- 强调安全性最佳实践:要求使用 tmux 会话维持会话状态,避免密钥泄露,并建议将敏感信息直接导出至环境变量而非写入磁盘
- 兼容自托管部署:可通过配置指定私有 Bitwarden 服务器地址,适用于 Vaultwarden 或其他自建实例
适用场景
Bitwarden Vault CLI 特别适合需要频繁调用凭证信息的自动化工作流。例如,在持续集成(CI)系统中,开发者可以使用 `bw get password “GitHub”` 自动提取 GitHub 账号密码,并将其注入到构建脚本中,而无需手动输入或硬编码敏感内容。对于 DevOps 工程师而言,该工具可用于批量检索多个服务账户的 API 密钥,配合 jq 解析 JSON 输出,实现一键部署云资源。此外,本地开发人员若希望快速获取某个项目的数据库连接字符串或第三方服务凭证,也可通过命令行直接读取,提升工作效率。需要注意的是,所有涉及 vault 的命令都必须在与解锁操作相同的 tmux 会话内执行,否则会因缺少 BW_SESSION 环境变量导致失败。因此,推荐在自动化脚本中先启动专用会话并完成认证,再执行后续的数据拉取任务。
