核心用法
bw-cli 是 Bitwarden 官方提供的跨平台命令行工具,覆盖密码管理的完整生命周期。核心工作流分为三阶段:
1. 认证流程:bw login 支持交互式、API Key、SSO 三种登录方式;登录后需 bw unlock 生成会话密钥并导出 BW_SESSION 环境变量方可操作本地加密库。
2. 库操作:提供增删改查完整能力——list/get 检索条目、密码、TOTP;create/edit/delete 管理登录项、安全笔记、银行卡、身份信息及 SSH 密钥;支持文件夹、集合、附件的组织管理。
3. 高级功能:内置密码/短语生成器、Send 安全分享、组织协作管理、导入导出(支持 20+ 密码管理器格式)及 REST API 服务模式。
显著优点
- 功能完整性:唯一覆盖 Bitwarden 全功能的 CLI 工具,包括自托管实例支持
- 自动化友好:JSON 输出配合
jq可实现复杂工作流,支持--nointeraction无人值守模式 - 安全设计:本地加密库、会话密钥机制、Master Password 永不直接传输
- 生态集成:npm 分发、多包管理器支持,易于嵌入 CI/CD 与脚本
潜在局限
- 学习曲线:模板化的创建/编辑流程需理解 JSON 编码管道,对非技术用户不够直观
- 状态依赖:必须手动管理
BW_SESSION与bw sync,多终端使用易出错 - 网络要求:多数操作需联网同步,离线场景功能受限
- 调试困难:错误信息有时过于简略,需开启
BITWARDENCLI_DEBUG排查
适合人群
开发者、DevOps 工程师、系统管理员及需要密码自动化的高级用户。尤其适合:
- 将凭证注入 CI/CD 流水线
- 编写密码轮换脚本
- 管理企业组织的共享集合
- 自托管 Vaultwarden 实例的运维
常规风险
- 会话密钥泄露:
BW_SESSION若写入日志或环境变量导出,可导致库完全暴露 - 密码文件权限:
.secrets等文件需严格 600 权限,否则本地提权即可读取主密码 - 永久删除误操作:
--permanent无二次确认,脚本中需格外谨慎 - 剪贴板残留:
get password默认复制到剪贴板,共享环境存在残留风险
官方文档完善,社区活跃,属企业级密码管理基础设施的可靠选择。