核心用法
bw-cli 是 Bitwarden 官方命令行工具,提供对密码管理器的完整控制能力。核心工作流包含:登录/解锁 → 同步 → 执行操作 → 锁定。
认证流程:
bw login:交互式、API Key 或 SSO 登录bw unlock:生成会话密钥BW_SESSIONbw sync:同步本地库与服务器bw lock/logout:结束会话
库操作:支持 list/get/create/edit/delete/restore 完整 CRUD,涵盖 items、folders、collections、organizations 等对象。通过 jq + bw encode 管道实现 JSON 模板化创建。
密码生成:bw generate 支持密码(自定义长度、字符集)和 passphrase(可配置单词数、分隔符)。
安全分享:bw send 创建阅后即焚的文本/文件分享,bw receive 接收。
组织管理:设备审批、成员确认、集合权限分配等企业级功能。
显著优点
- 官方背书:Bitwarden 官方维护,与云/自托管 Vaultwarden 100% 兼容
- 功能完备:覆盖 Web 端 90%+ 功能,包括 TOTP 提取、附件管理、导入导出
- 自动化友好:API Key 认证 +
--raw输出,完美融入 CI/CD 脚本 - 多服务端支持:官方云、EU 区、自托管均可配置
- 安全传输:本地加密库 + 内存会话密钥,无持久化明文
潜在局限
- Node.js 依赖:npm 安装版本依赖 Node 运行时,原生二进制体积较大
- 模板语法陡峭:
jq管道 + base64 encode 对非技术用户门槛高 - 自托管兼容性问题:部分 Vaultwarden 实例 API Key 登录失败,需回退邮箱密码
- 无交互模式限制:某些操作(如 SSO)必须交互式完成
适合人群
- 开发者和 DevOps 工程师(自动化密码注入)
- 自托管 Vaultwarden 管理员
- 企业 IT 团队(批量用户/设备管理)
- 高级用户(偏好终端效率)
常规风险
| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 会话密钥泄露 | `BW_SESSION` 若被记录到日志/历史文件 | 使用 `--quiet`,避免 `set -x`,及时 `bw lock` |
| `.secrets` 文件暴露 | 主密码/API Key 明文存储 | 严格 `chmod 600`,强制 `.gitignore`,不提交仓库 |
| 剪贴板残留 | `bw unlock` 输出建议复制到剪贴板 | 使用 `--raw` 配合 shell 变量,避免 GUI 剪贴板 |
| 永久删除误操作 | `--permanent` 无回收站 | 先 `delete` 进回收站,确认后再 `delete --permanent` |
| 自托管证书问题 | 私有 CA 证书不信任 | 配置 `NODE_EXTRA_CA_CERTS` |