Bitwarden 帮助中心中文版
⮐ Bitwarden Help Center个人主页联系我
  • 关于
  • 首页
  • 发布记录
  • 账户
    • 创建 Bitwarden 账户
    • 登录 & 解锁
      • 主密码
      • 忘记主密码
      • 新设备登录保护
      • 使用 SSO 登录
      • 使用设备登录
      • 使用通行密钥登录 (Beta)
      • 账户切换
      • 使用 PIN 码解锁
      • 使用生物识别解锁
      • 密码库超时选项
    • 两步登录
      • 两步登录现场指南
      • 两步登录方式
      • 设置指南
        • 两步登录 - 验证器
        • 两步登录 - 电子邮箱
        • 两步登录 - Duo
        • 两步登录 - YubiKey
        • 两步登录 - 通行密钥
      • 恢复代码
      • 丢失了辅助设备
      • 两步登录 FAQ
    • 更多
      • 紧急访问
      • 本地化
      • *异常流量错误
  • Password Manager
    • Password Manager 概述
    • 入门
      • Password Manager 网页 App
      • Password Manager 浏览器扩展
      • Password Manager 移动 App
      • Password Manager 桌面 App
    • 密码库基础
      • 密码库项目
      • 用户名 & 密码生成器
      • 自定义字段
      • 集成的验证器
      • 文件附件
      • 共享
      • 集合
      • 存储通行密钥
      • *通行密钥 FAQ
    • 密码库管理
      • 文件夹
      • 收藏
      • 同步密码库
      • 检索密码库
      • 密码库健康报告
    • 导入 & 导出
      • 导入数据到密码库
      • 导入指南
        • 从 LastPass 导入
        • 从 1Password 导入
        • 从 Keeper 导入
        • 从 Dashlane 导入
        • 从 Google Chrome 导入
        • 从 macOS & Safari 导入
        • 从 Firefox 导入
        • 从 Password Safe 导入
        • 从 Myki 导入
      • 导出密码库数据
      • 加密导出
      • 调整 Bitwarden .csv 或 .json
      • *Bitwarden 导入器工具
      • 导入 & 导出 FAQ
    • 自动填充
      • 自动填充基础
        • 在浏览器扩展中自动填充登录
        • 在 Android 上自动填充登录
        • 在 iOS 上自动填充登录
        • 自动填充支付卡和身份
        • 自动填充自定义字段
      • 使用 URI
      • 屏蔽自动填充
      • 基本验证提示
      • 键盘快捷键
      • 禁用浏览器的内置密码管理器
      • Android 自动填充故障排除
      • 自动填充 FAQ
    • Bitwarden Send
      • 关于 Send
      • 创建 Send
      • 接收 Send
      • Send 生命周期
      • Send 隐私
      • CLI 上的 Send
      • Send 加密
      • Send FAQ
    • 开发者工具
      • Password Manager API
      • Password Manager CLI
      • CLI 身份验证挑战
      • 用于 CLI 验证的个人 API 密钥
      • SSH 代理
    • 更多
      • Password Manager FAQ
      • 更改 App 主题
      • DuckDuckGo macOS 浏览器集成
      • Apple Watch 上的 Bitwarden
      • 在 Firefox 隐私窗口中使用 Bitwarden
      • 离线使用 Bitwarden
      • 排除域名
      • Safari 网页扩展
      • uMatrix 和 NoScript 访问规则
      • 与 Bitwarden 支持排除移动端故障
  • Bitwarden Authenticator
    • Bitwarden Authenticator
    • 导入 & 导出
    • FAQ
  • Secrets Manager
    • Secrets Manager 概述
    • 入门
      • Secrets Manager 快速入门
      • 开发人员快速入门
      • 登录 Secrets Manager
      • 管理您的组织
    • 您的机密
      • 工程
      • 机密
      • 机器账户
      • 访问令牌
      • 机密解密
    • 导入 & 导出
      • 导入数据
      • 导出数据
    • 开发人员工具
      • Secrets Manager CLI
      • Secrets Manager SDK
    • 集成
      • Ansible
      • GitHub Actions
      • GitLab CI/CD
      • Secrets Manager Kubernetes Operator
    • 更多
      • Secrets Manager FAQ
  • 管理控制台
    • 组织快速入门
    • 组织基础
      • 组织
      • 集合
      • 群组
      • 企业策略
      • 集合管理
    • 用户管理
      • 用户管理
      • 成员角色和权限
      • 声明域名
      • 声明账户
      • 账户恢复
      • SCIM
        • 关于 SCIM
        • JumpCloud SCIM 集成
        • Microsoft Entra ID SCIM 集成
        • Okta SCIM 集成
        • OneLogin SCIM 集成
        • Ping Identity SCIM 集成
      • 目录连接器
        • 关于目录连接器
        • 目录连接器桌面 App
        • 目录连接器 CLI
        • 目录连接器文件存储
        • 同步选项和筛选器
        • 清除同步缓存
        • 调度同步
        • 使用 AD 或 LDAP 同步
        • 使用 Microsoft Entra ID 同步
        • 使用 Google Workspace 同步
        • 使用 Okta 同步
        • 使用 OneLogin 同步
      • 入职和继任概述
    • 导入 & 导出
      • 导入数据到组织
      • 导出密码库数据
      • 调整 Bitwarden .csv 或 .json
    • SSO 登录
      • 关于 SSO 登录
      • SAML 2.0 配置
      • OIDC 配置
      • 成员解密选项
      • 声明域名
      • 实施指南
        • ADFS SAML 实施
        • Auth0 SAML 实施
        • AWS SAML 实施
        • Duo SAML 实施
        • Google SAML 实施
        • JumpCloud SAML 实施
        • Keycloak SAML 实施
        • Microsoft Entra ID SAML 实施
        • Okta SAML 实施
        • OneLogin SAML 实施
        • Ping Identity SAML 实施
        • ADFS OIDC 实施
        • Microsoft Entra ID OIDC 实施
        • Okta OIDC 实施
        • Ping Identity OIDC 实施
        • Cloudflare Zero Trust SSO 实施
      • 受信任设备
        • 关于受信任设备
        • 设置受信任设备 SSO
        • 添加受信任设备
        • 批准受信任设备
      • Key Connector
        • 关于 Key Connector
        • 部署 Key Connector
      • *在您的 IdP 上配置 Bitwarden(SAML 2.0)
      • SSO 登录 FAQ
    • 报告
      • 密码库健康报告
      • 事件日志
      • Elastic SIEM
      • Microsoft Sentinel SIEM
      • Panther SIEM
      • Rapid7 SIEM
      • Splunk SIEM
    • 最终用户入职
      • 关于本章节
      • 欢迎电子邮件模板
      • 管理团队入职电子邮件
      • 最终用户采用电子邮件
      • 客户激活套件
      • 入职流程
    • 部署客户端 App
      • 部署浏览器扩展
        • 使用 GPO、Linux 策略和 .plist 文件部署浏览器扩展
        • 使用 Intune 部署浏览器扩展
      • 部署桌面端 App
        • 使用 Intune 部署桌面端 App
      • 部署移动端 App
        • 使用 Intune 部署移动端 App
      • 为您的服务器配置客户端
      • 使用设备管理停用浏览器密码管理器
    • Bitwarden 公共 API
    • 更多
      • 组织 FAQ
      • 链接到项目
      • 企业版 Bitwarden 功能数据表
      • 团队版和企业版迁移指南
      • LastPass 企业版迁移指南
      • 组织所有者离职时的访问权限管理
      • PoC 项目清单
      • 为生产准备试用组织
      • *团队版 Bitwarden 对比指南
  • 提供商门户
    • 提供商门户概览
    • 提供商门户快速入门
    • 提供商用户
    • 添加客户组织
    • *添加现有组织
    • 持续管理
    • 取消链接客户组织
    • 提供商事件日志
    • 提供商计费
    • 提供商 FAQ
    • 业务单元门户
      • 业务单元门户
      • 业务单元门户快速入门
  • 自托管
    • 安装 & 部署指南
      • Docker
        • Linux 标准部署
        • Linux 手动部署
        • Linux 离线部署
        • Windows 标准部署
        • Windows 离线部署
        • Unified 部署 (Beta)
      • Helm
        • 使用 Helm 自托管
        • Azure AKS 部署
        • OpenShift 部署
        • AWS EKS 部署
        • 添加 rawManifest 文件
    • 自托管组织
    • 迁移步骤
    • 证书选项
    • 配置环境变量
    • 数据库选项
    • 连接到外部 MSSQL 数据库
    • Kerberos 集成
    • 更新实例
    • 备份托管数据
    • 付费功能许可证
    • 系统管理员门户
    • 为服务器配置客户端
    • 连接客户端到实例
    • 自托管 SCIM
    • 自托管家庭赞助
    • 自托管 Send
    • 配置推送中继
    • *作为 MSP 部署 Bitwarden
    • 托管 FAQ
  • 安全
    • Bitwarden 安全白皮书
    • 密码库数据
    • 管理数据
    • 加密方式
    • KDF 算法
    • 账户加密密钥
    • 账户指纹短语
    • 数据存储
    • 合规、审计和认证
    • 服务器地理位置
    • 版本控制
    • 使用网站图标时的隐私
    • Bitwarden 软件发布支持
    • Bitwarden 的分包商
    • 来自 Bitwarden 的电子邮件
    • Bitwarden 地址
    • 安全 FAQ
  • 计划和定价
    • Password Manager
      • Password Manager 计划
      • 从个人升级到组织
      • 兑换家庭赞助
      • 高级会员续费
    • Secrets Manager
      • Secrets Manager 计划
      • 注册 Secrets Manager
    • Bitwarden 经销商
    • 开始企业版试用
    • 组织续费
    • 更新计费信息
    • 税费计算
    • 删除账户或组织
    • 取消订阅
    • 计费 FAQ
    • *更新 Bitwarden 计划 (2019-2020)
    • *更新 Password Manager 计划 & 订阅
    • *哪种计划适合我?
  • 学习中心
    • 关于学习中心
    • 使用 Bitwarden 的第一步
    • 了解 Password Manager
    • Password Manager
      • Bitwarden 入门:个人用户
      • Bitwarden 入门:管理员
      • Bitwarden 入门:成员
      • Bitwarden 入门:经销商或 MSP
    • Bitwarden 高级用户
    • 面向企业管理员的 Bitwarden
    • 了解 Secrets Manager
    • 面向 MSP 的 Bitwarden
    • 了解 Passwordless.dev
  • *杂项
    • 11 月弃用通知
    • Bitwarden 术语表
    • 迁移脚本
    • Bitwarden 101 视频系列-入门
    • Secrets Manager Beta 版注册
    • 未分配的密码库项目已移至管理控制台
    • 原生移动 App
  • 附录
    • 翻译约定
    • 资源
由 GitBook 提供支持
在本页
  • 下载和安装
  • 登录
  • 使用电子邮箱和密码
  • 使用 API 密钥
  • 使用 SSO
  • 解锁
  • 解锁选项
  • 使用会话密钥
  • 核心命令
  • create
  • get
  • edit
  • list
  • delete
  • restore
  • send
  • receive
  • 组织命令
  • 组织 ID
  • move
  • confirm
  • 设备批准
  • 其他命令
  • config
  • sync
  • encode
  • import
  • export
  • generate
  • update
  • status
  • serve
  • 附录
  • 全局选项
  • ZSH Shell 补全
  • 使用自签名证书
  • 枚举
  1. Password Manager
  2. 开发者工具

Password Manager CLI

上一页Password Manager API下一页CLI 身份验证挑战

最后更新于1个月前

对应的

Bitwarden 命令行界面 (CLI) 是一个强大且功能齐全的工具,用于访问和管理您的密码库。您在其他 Bitwarden 客户端应用程序(桌面、浏览器扩展等)能找到的许多功能也可以通过 CLI 实现。

Bitwarden CLI 是自带文档的。在命令行中,使用以下命令了解可用的命令:

bw --help

或者,在任何 bw 命令上传递 --help 选项,以查看命令可用的选项和示例:

bw list --help

bw share --help

您所需要的大部分信息都可以通过 --help 来获取,然而这篇文章复制了所有这些信息,并对一些主题进行了更深入的探讨。

下载和安装

可以在 Windows、macOS 和 Linux 发行版上跨平台使用 CLI。根据需要选择下载和安装 Bitwarden CLI 的方式:

CLI 的本地打包版本可用于每个平台,并且无须依赖。使用以下链接之一下载:

在 UNIX 系统中,您可能会收到 Permission denied (权限被拒绝)的消息。通过运行下面的命令授予权限::

bash chmod +x </path/to/executable>

如果您的系统上已安装了 Node.js,则可以使用 NPM 安装 CLI。使用 NPM 进行安装是使安装保持最新的最简单方式,并且对于已经熟悉 NPM 的用户来说,它应该是首选的方式:

npm install -g @bitwarden/cli

要使用 Chocolatey 进行安装:

choco install bitwarden-cli

要使用 Snap 进行安装:

sudo snap install bw

登录

使用 login 命令登录 Bitwarden CLI 共有三种方式,每种方式适用于不同的场景。请查看以下选项以确定使用哪种方式:

这是因为您的主密码是解密密码库数据所必须的密钥的来源。但是,有一些命令不需要您的密码库已解密,包括 config、encode、generate、update 以及 status。

使用电子邮箱和密码

电子邮箱和密码方式的登录建议用于交互式会话场景。要使用电子邮箱和密码登录:

bw login

您可以像如下的示例那样将这些因素组合成一个命令,但是出于安全原因不建议这样操作。

bw login [email] [password] --method <method> --code <code>

使用 API 密钥

bw login --apikey

使用 API 密钥环境变量

在使用 Bitwarden CLI 完成自动化工作的场景中,您可以保存环境变量以避免在身份验证时需要手动介入。

环境变量名称
要求的值

BW_CLIENTID

client_id

BW_CLIENTSECRET

client_secret

使用 SSO

bw login --sso

解锁

bw unlock

解锁选项

您可以像如下的示例那样为 bw unlock 添加 --passwordenv <passwordenv> 选项或 --passwordfile <passwordfiles> 选项来使用您的主密码,而不需要手动输入:

bw unlock --passwordenv BW_PASSWORD

将查找环境变量 BW_PASSWORD。如果 BW_PASSWORD 为非空且具有正确的值,则 CLI 将成功解锁并返回一个会话密钥。

bw unlock --passwordfile ~/Users/Me/Documents/mp.txt

将查找文件 ~Users/Me/Documents/mp.txt(必须将您的主密码作为第一行)。如果文件非空且具有正确的值,CLI 将成功解锁并返回一个会话密钥。

如果您使用 --passwordfile 选项,请通过将访问权限锁定到仅需要运行 bw unlock 的用户并仅向该用户提供读取访问权限来保护您的密码文件。

使用会话密钥

当您使用电子邮箱和密码方式的 bw login 或 bw unlock 解锁您的密码库时,CLI 将同时返回 export BW_SESSION(Bash)和 env:BW_SESSION(PowerShell)命令,其中包含了您的会话密钥。复制并粘贴相关条目以保存所需的环境变量。

如果设置了 BW_SESSION 环境变量,bw 命令将引用该变量,以干净清爽地运行,例如:

export BW_SESSION="5PBYGU+5yt3RHcCjoeJKx/wByU34vokGRZjXpSH7Ylo8w=="

bw list items

另外,如果您未设置环境变量,则可以在每个 bw 命令中将会话密钥作为选项传递:

bw list items --session "5PBYGU+5yt3RHcCjoeJKx/wByU34vokGRZjXpSH7Ylo8w=="

BW_SESSION 环境变量仅绑定到活动的终端会话,因此关闭终端窗口等同于锁定密码库。您也可以通过运行以下命令来销毁一个活动会话密钥以锁定您的密码库:

bw lock

核心命令

create

create 命令用于在您的密码库中创建一个新的对象( item,attachment 等):

bw create (item|attachment|folder|org-collection) <encodedJson> [options]

create 命令使用已编码的 JSON。创建一个对象的典型工作流程大致为:

  1. 使用 create 命令从已编码的 JSON 创建一个对象。

示例:

bw get template folder | jq '.name="My First Folder"' | bw encode | bw create folder

或:

bw get template item | jq ".name=\"My Login Item\" | .login=$(bw get template item.login | jq '.username="jdoe" | .password="myp@ssword123"')" | bw encode | bw create item

创建成功后,新创建的对象将作为 JSON 返回。

create 其他项目类型

名称
值

登录

.type=1

安全笔记

.type=2

支付卡

.type=3

身份

.type=4

例如,以下命令将创建一个安全笔记:

bw get template item | jq '.type = 2 | .secureNote.type = 0 | .notes = "Contents of my Secure Note." | .name = "My Secure Note"' | bw encode | bw create item

create attachment

create attachment 命令用于将一个文件附加到一个现有的项目上。

与其他 create 操作不同,您无需使用 JSON 处理器或 encode 即可创建附件。相反,它使用 --file 选项指定要附加的文件,使用 --itemid 选项指定要附加到的项目。例如:

bw create attachment --file ./path/to/file --itemid 16b15b89-65b3-4639-ad2a-95052a6d8f66

get

get 命令用于从您的密码库中检索单个对象( item、username、password等):

bw get (item|username|password|uri|totp|exposed|attachment|folder|collection|organization|org-collection|template|fingerprint) <id> [options]

get 命令使用项目 id 或字符串作为它的参数。如果你使用一个字符串(即除确切的 id 以外的任何东西),get 将检索您的密码库以寻找一个具有匹配值的对象。例如,下面的命令将返回一个 Github 密码:

bw get password Github

get 命令只能返回一个结果,因此您应该使用明确的搜索词。如果找到多个结果,CLI 将返回错误。

get attachment

get attachment 命令用于下载文件附件:

bw get attachment <filename> --itemid <id>

get attachment 命令使用一个 filename 和确切的 id。默认情况下,get attachment 将附件下载到当前工作目录。你可以使用 --output 选项来指定一个不同的输出目录,例如:

bw get attachment photo.png --itemid 99ee88d2-6046-4ea7-92c2-acac464b1412 --output /Users/myaccount/Pictures/

使用 --output 时,路径必须以正斜杠(/)结尾,以指定一个目录或者一个文件名(/Users/myaccount/Pictures/photo.png)。

get template

get template 命令用于返回对象预期的 JSON 格式(item、item.field、item.login 等):

bw get template (item|item.field|item.login|item.login.uri|item.card|item.identity|item.securenote|folder|collection|item-collections|org-collection)
bw get template folder | jq '.name="My First Folder"' | bw encode | bw create folder

任何 item.xxx 模板都应作为 item 模板的子对象使用,例如:

bw get template item | jq ".name=\"My Login Item\" | .login=$(bw get template item.login | jq '.username="jdoe" | .password="myp@ssword123"')" | bw encode | bw create item

edit

edit 用于编辑密码库中的对象( item、item-collections 等):

bw edit (item|item-collections|folder|org-collection) <id> [encodedJson] [options]

edit 命令使用一个确切的 id(要编辑的对象)和编码的 JSON(要进行的编辑)。典型的工作流程大致为:

  1. 使用 edit 命令(包括对象 id)编辑对象。

示例:

bw get item 7ac9cae8-5067-4faf-b6ab-acfd00e2c328 | jq '.login.password="newp@ssw0rd"' | bw encode | bw edit item 7ac9cae8-5067-4faf-b6ab-acfd00e2c328

或者,编辑一个集合:

bw get collection ee9f9dc2-ec29-4b7f-9afb-aac8010631a1 | jq '.name="My Collection"' | bw encode | bw edit item-collections ee9f9dc2-ec29-4b7f-9afb-aac8010631a1

edit 命令将对对象执行替换操作。成功后,更新后的对象将作为 JSON 返回。

list

list 命令用于从您的密码库中检索一组对象( items、folders、collections 等):

bw list (items|folders|collections|organizations|org-collections|org-members) [options]

list 命令的选项是筛选器,其决定了返回的内容,其包括 --url <url>、--folderid <folderid>、--collectionid <collectionid>、--organizationid <organizationid> 以及 --trash。任何筛选器都接受 null 或 notnull。在一个命令中组合多个筛选器将执行逻辑 OR 运算,例如:

bw list items --folderid null --collectionid null

此命令将返回不属于任何文件夹或集合的项目。

另外,您可以使用 --search <search-term> 来搜索明确的对象。将筛选器和搜索结合在一个命令中将执行逻辑 AND 运算,例如:

bw list items --search github --folderid 9742101e-68b8-4a07-b5b1-9578b5f88e6f

此命令将在指定的文件夹中搜索具有字符串为 github 的项目。

delete

delete 命令用于从您的密码库中删除一个对象。delete 仅使用确切的 id 作为其参数。

bw delete (item|attachment|folder|org-collection) <id> [options]

默认情况下,delete 将「软删除」一个项目(即将其发送到回收站)。您可以使用 -p,--permanent 选项永久删除项目。

bw delete item 7063feab-4b10-472e-b64c-785e2b870b92 --permanent

restore

restore 命令用于从回收站中恢复已删除的对象。restore 仅使用确切的 id 作为其参数。

bw restore (item) <id> [options]

例如:

bw restore item 7063feab-4b10-472e-b64c-785e2b870b92

send

要创建一个简单的文本 Send:

bw send -n "My First Send" -d 7 --hidden "The contents of my first text Send."

要创建一个简单的文件 Send:

bw send -n "A Sensitive File" -d 14 -f /Users/my_account/Documents/sensitive_file.pdf

receive

bw receive --password passwordforaccess https://vault.bitwarden.com/#/send/yawoill8rk6VM6zCATXv2A/9WN8wD-hzsDJjfnXLeNc2Q

组织命令

组织 ID

使用 bw list 命令从 CLI 直接检索这些信息,例如:

bw list organizations
bw list org-members --organizationid 4016326f-98b6-42ff-b9fc-ac63014988f5
bw list org-collections --organizationid 4016326f-98b6-42ff-b9fc-ac63014988f5

您可以同时 bw list collections 和 org-collections。bw list collections 将列出所有集合,而与它们所属的组织无关。bw list org-collections 将仅列出属于使用 --organizationid 指定的组织的集合。

move

bw move <itemid> <organizationid> [encodedJson]

move 命令要求您 encode 集合 ID,并使用一个确切的 id(要共享的对象)和一个确切的 organizationid(要与之共享对象的组织)。例如:

echo '["bq209461-4129-4b8d-b760-acd401474va2"]' | bw encode | bw move ed42f44c-f81f-48de-a123-ad01013132ca dfghbc921-04eb-43a7-84b1-ac74013bqb2e

成功后,将返回更新后的项目。

confirm

bw confirm org-member <id> --organizationid <orgid>

confirm 命令使用确切的成员 id 和确切的组织 id,例如:

bw confirm org-member 7063feab-4b10-472e-b64c-785e2b870b92 --organizationid 310d5ffd-e9a2-4451-af87-ea054dce0f78

设备批准

允许管理员和所有者在用户已请求管理员批准时管理设备批准请求。

目前,批量设备批准仅适用于从 Bitwarden.com 下载的 Bitwarden CLI 客户端。

Bitwarden 建议在启用和使用批量设备批准之前,先审查重要的安全控制措施,例如 IdP 凭证标准、IdP MFA 以及 IdP 设备注册和信任。

list 命令用于显示组织内所有待处理的设备批准请求:

bw device-approval list --organizationid <organization_Id>

approve 命令用于批准组织内待处理的设备授权请求:

bw device-approval approve --organizationid <organizationId> <requestId>

同理, approve-all 命令用于批准所有当前待处理的请求:

bw device-approval approve-all --organization <organizationId>

deny 用于拒绝待处理的授权请求:

bw device-approval deny --organizationid <organizationId> <requestId>

deny-all 用于拒绝所有待处理的授权请求:

bw device-approval deny-all --organizationid <organizationId>

其他命令

config

config 命令用于指定 Bitwarden CLI 说使用的设置:

bw config server <setting> [value]
bw config server https://your.bw.domain.com

您可以通过传递不带值的 bw config server 来读取当前已连接的服务器。

具有唯一设置的用户可以选择使用以下方法单独指定每一个服务的 URL:

bw config --web-vault <url>
bw config --api <url>
bw config --identity <url>
bw config --icons <url>
bw confbw config server --web-vault <url>
bw config server --api <url>
bw config server --identity <url>
bw config server --icons <url>
bw config server --notifications <url>
bw config server --events <url>
bw config server --key-connector <url>

联系组织所有者以获取所需的 URL。

sync

bw sync

重要的是要知道 sync 仅从服务器执行拉取操作。任何时候您更改密码库时(例如 create、edit、delete),数据都会自动推送到服务器。

encode

bw get template folder | jq '.name="My First Folder"' | bw encode | bw create folder

bw get item 7ac9cae8-5067-4faf-b6ab-acfd00e2c328 | jq '.login.password="newp@ssw0rd"' | bw encode | bw edit item 7ac9cae8-5067-4faf-b6ab-acfd00e2c328

import

bw import <format> <path>

例如:

bw import lastpasscsv /Users/myaccount/Documents/mydata.csv

export

bw export [--output <filePath>] [--format <format>] [--password <password>] [--organizationid <orgid>]

默认情况下,export 命令将在当前工作目录下生成一个 .csv(相当于指定 --format csv)文件,但您也可以指定:

  • --format json:导出为 .json 文件

  • --output <path>:指定导出位置

  • --raw:将导出返回到 stdout(标准输出)而不是文件

导出组织密码库

使用带有 --organizationid 选项的 export 命令,可以导出组织密码库:

bw export myp@ssw0rd --organizationid 7063feab-4b10-472e-b64c-785e2b870b92 --format json --output /Users/myaccount/Downloads/

generate

bw generate [--lowercase --uppercase --number --special --length <length> --passphrase --separator <separator> --words <words>]

默认情况下,generate 命令将生成一个包含 14 个字符的密码,其中包含大写字符、小写字符和数字。其等效于:

bw generate -uln --length 14

您可以使用该命令可用的选项来生成更复杂的密码,选项包括:

  • --uppercase 或 -u(包含大写字符)

  • --lowercase 或 -l(包含小写字符)

  • --number 或 -n(包含数字)

  • --special 或 -s(包含特殊字符)

  • --length <length>(密码长度,最小值为 5)

生成密码短语

使用带有 --passphrase 选项的 generate 命令,可以生成一个密码短语而不是密码:

bw generate --passphrase --words <words> --separator <separator>

默认情况下,bw generate --passphrase 命令将生成一个 3 个单词的密码短语,并用破折号(-)分隔。这等效于:

bw generate --passphrase --words 3 --separator -

您可以使用该命令可用的选项来生成更复杂的密码短语,选项包括:

  • --words <words>(单词数量)

  • --separator <separator>(分隔符)

  • --capitalize, -c(密码短语中首字母大写)

  • --includeNumber(密码短语中包含数字)

update

update 命令用于检查您的 Bitwarden CLI 是否正在运行最新版本。update 不会为您自动更新 CLI。

shbw update

status

bw status

状态将以 JSON 对象的形式返回信息,例如:

{
  "serverUrl": "https://bitwarden.example.com",
  "lastSync": "2020-06-16T06:33:51.419Z",
  "userEmail": "user@example.com",
  "userId": "00000000-0000-0000-0000-000000000000",
  "status": "unlocked"
}

status 的值可能是以下之一:

  • "unauthenticated":表示您尚未登录。

当使用 "status": "unauthenticated" 时,lastSync、userEmail 和 userID 将始终返回 null。

serve

serve 命令用于启动一个本地紧急 Web 服务器,该服务器用于执行所有可从 CLI 访问的操作,这些操作以来自 HTTP 接口的 RESTful API 调用的形式。

bw serve --port <port> --hostname <hostname>

默认情况下,serve 将在 8087 端口启动 Web 服务器,但您可以使用 --port 选项指定备用端口。

默认情况下,serve 会将您的 API Web 服务器绑定到 localhost,但您可以使用 --hostname 选项指定备用主机名。API 请求只能从绑定的主机名发出。

默认情况下,serve 将阻止任何带有 Origin 标头的请求。您可以使用 --disable-origin-protection 选项绕过此保护,但不建议这样做。

您可以指定 --hostname all 以不绑定主机名,但这将允许网络上的任何机器发出 API 请求。

附录

全局选项

以下选项全局可用:

选项
描述

--pretty

格式化输出。JSON 使用两个空格的制表符。

--raw

返回原始输出,而不是描述性消息。

--response

返回响应输出的 JSON 格式版本。

--quiet

不要将任何东西返回 stdout(标准输出)。

--nointeraction

对于输入交互式用户,不做提示。

--session <session>

传递会话密钥,而不是从环境变量中读取会话密钥。

-v, --version

输出 Bitwarden CLI 的版本号。

-h, --help

显示命令的帮助文本。

ZSH Shell 补全

Bitwarden CLI 支持 ZSH Shell 补全。要设置 Shell 补全,请使用下面的方法之一:

1、Vanilla ZSH:将下面行添加到您的 .zshrc 文件中:

eval "$(bw completion --shell zsh); compdef _bw bw;"

2、Vanilla (vendor-completions):运行如下命令:

bw completion --shell zsh | sudo tee /usr/share/zsh/vendor-completions/_bw
bw completion --shell zsh > ~/.local/share/zsh/completions/_bw
zinit creinstall ~/.local/share/zsh/completions

使用自签名证书

export NODE_EXTRA_CA_CERTS="absolute/path/to/your/certificates.pem"
$env:NODE_EXTRA_CA_CERTS="absolute/path/to/your/certificates.pem"

枚举

下面的表格列举了在自文档情景下所需要的值:

两步登录方式

名称
值

验证器

0

电子邮箱

1

Yubikey

3

CLI 不支持 FIDO2 和 Duo。

项目类型

名称
值

登录

1

安全笔记

2

支付卡

3

身份

4

登录 URI 匹配类型

名称
值

基础域

0

主机

1

开始于

2

精确

3

正则表达式

4

从不

5

字段类型

名称
值

文本

0

隐藏

1

布尔型

2

组织用户类型

名称
值

所有者

0

管理员

1

用户

2

经理

3

组织用户状态类型

名称
值

受邀

0

已接受

1

已确认

2

在 上查看该软件包。

在 上查看该软件包。

在 上查看该软件包。

方式登录将使用您的主密码,因此可以将 login 和 unlock 命令串在一起,以验证您的身份并同时解密您的密码库。如果您直接使用密码库数据,则或 方式将要求您在 login 命令后紧接着使用显式 bw unlock 命令。

此命令将提示您输入电子邮箱地址、主密码和两步登录代码(若)。CLI 目前支持、或 方式的两步登录。

有关两步登录的 <method> 值,请参阅。

提示进行额外的身份验证或收到 Your authentication request appears to be coming from a bot. 的错误提示?请使用您的 API 密钥 client_secret 回答身份验证挑战。。

方式的登录建议用于自动化工作流程或对外部应用程序提供访问的场景。要使用 API ​​密钥方式登录:

此命令将提示您输入个人 client_id 和 client_secret。使用这些值对您的会话进行身份验证后,您就可以使用 unlock 命令了()。

如果您的组织,您仍然可以使用 --apikey 登录 CLI。

方式的登录建议用于组织要求 SSO 身份验证的场景。要使用 SSO 方式登录:

此命令将在您的 Web 浏览器中启动 SSO 身份验证流程。您的会话通过身份验证后,您就可以使用 unlock 命令了()。

如果您的组织,您仍然可以使用 --apikey 登录 CLI。

如果您直接使用密码库数据,则或 方式将要求您在 login 命令后紧接着使用显式 bw unlock 命令。

解锁密码库会生成一个会话密钥,此会话密钥作为解密密钥用于与密码库中的数据进行交互。执行任何涉及密码库数据的命令(例如:list、get、edit)。您可以在任何时候使用以下方法生成一个新的会话密钥:

使用 get template 命令(请参阅)为对象类型输出适当的 JSON 模板。

使用 根据需要操作已输出的模板。

使用 encode 命令(请参阅)对已操作的 JSON 进行编码。

create 命令默认创建登录项目,但您可以使用 更改 .type= 属性以创建其他项目类型:

请注意,在上面的示例中,安全笔记需要一个子模板(.secureNote.type)。您可以使用 bw get template 查看项目类型的子模板(详细见)。

如果您不知道您要使用的确切的 itemid,请使用 bw get item <search-term> 以返回该项目(请参阅),包括它的 id。

虽然你可以使用 get template 将格式输出到你的屏幕上,但最常见的用法是将输出的数据输送到 bw create 操作中,使用 和 bw encode 来处理从模板获取的值,例如:

使用 get 命令(请参阅)输出对象用于编辑。

使用 根据需要操作已输出的模板。

使用 encode 命令(请参阅)对已操作的 JSON 进行编码。

要删除 org-collection,您还需要指定 --organizationid <organizationid> 。请参阅。

使用 delete 「软删除」的项目可以使用 restore 命令恢复(请参阅),但是使用 delete --permanent 删除的项目将被完全删除并且无法恢复。

send 命令用于创建一个 对象进行短暂的共享。本节将详细介绍简单的 send 操作,然而 Send 是一个高度灵活的工具,我们建议参阅 这篇专门的文章。

receive 命令用于访问 对象。要接收 Send 对象:

从 CLI 访问组织经常需要知道组织的 ID 以及单个的 ID 和的 ID。

2021 年 8 月:share 命令已被更改为 move。。

move 命令用于将密码库项目:

confirm 命令用于确认已接受邀请的加入您的组织:

在大多数情况下,用户可以批准自己的登录请求,不需要管理员设备批准。请参阅。自动或批量批准管理员设备批准请求会忽略管理员为确保请求合法而执行的验证步骤,例如检查用户报告的指纹短语。

bw config 的主要用途是:

如果您的组织使用 并且您在后使用 --apikey 选项登录,则需要运行 bw config server --key-connector 命令。

sync 命令用于从 Bitwarden 服务器下载加密的密码库。 CLI 后,您又在其他客户端应用程序(例如网页密码库、浏览器扩展、移动应用程序)上对 Bitwarden 密码库进行了某些更改时,此命令很有用。

您可以传递 --last 选项,以仅返回上次执行同步的时间戳()。

encode 命令用于对 stdin(标准输入) 进行 Base 64 编码。在执行 create 和 edit 操作时,此命令通常与 结合使用,例如:

import 命令用于从之前的 Bitwarden 导出或中导入数据。该命令必须指向一个文件并包含如下参数:

Bitwarden 支持多种导入格式,太多了而无法在这里一一列出!使用 bw import --formats 在 CLI 中返回列表,或。

export 命令用于将密码库数据导出为 .json 或 .csv 或 文件:

--format encrypted_json:导出为 文件

--password <password>:指定用于加密 encrypted_json 导出的密码,而不是您的

generate 命令用于生成一个强密码或:

如果检测到新的版本,则需要使用打印的可执行文件 URL 来下载新版本的 CLI,或使用用于 的程序包管理器工具(例如 npm install -g @bitwarden/cli)来下载新版本的 CLI。

status 命令用于返回 Bitwarden CLI 的状态信息,包括的服务器 URL、最后一次同步的时间戳()、用户电子邮箱和 ID,以及密码库状态。

"unlocked":表示您已登录并且您的密码库已解锁(即保存了含活动的 BW_SESSION 密钥环境变量)。

"locked":表示您已登录但是您的密码库已锁定(即没有保存含活动的 BW_SESSION 密钥环境变量)。

以获取使用 serve 进行调用的帮助。

3、:运行如下命令:

如果您的自托管 Bitwarden 服务器公开为自签名 TLS 证书,请指定 Node.js 环境变量 :

Bash:

PowerShell:

用于指定在时使用哪一种:

与 create 命令一起使用以指定:

与 create 和 edit 命令一起使用以指定 行为:

与 create 和 edit 命令一起使用以配置:

指示:

指示:

npmjs.org
community.chocolatey.org
snapcraft.io
已启用
身份验证器
电子邮箱
YubiKey
了解更多
个人 API 密钥
SSO
jq 之类的命令行 JSON 处理器
jq 之类的命令行 JSON 处理器
jq 之类的命令行 JSON 处理器
jq 之类的命令行 JSON 处理器
Bitwarden Send
CLI 上的 Send
Bitwarden Send
成员
集合
了解更多
转移到组织
添加受信任设备
ISO 8601
json 这样的命令行 JSON 处理器
其他受支持的密码管理应用程序
加密的 .json
加密的 .json
账户加密密钥
查看 API 规范
zinit
NODE_EXTRA_CA_CERTS
项目的类型
URI 匹配检测
自定义字段
用户的类型
用户在组织内的状态
使用电子邮箱和密码
使用 API 密钥
使用 SSO
使用电子邮箱和密码
使用 API 密钥
SSO
附录 → 枚举
了解更多
了解更多
使用 API 密钥
SSO
会话密钥必须用于
详细信息
详细信息
此处
详细信息
详细信息
详细信息
组织 ID
详细信息
登录
密码短语
下载 CLI
ISO 8601
已配置
会话密钥
会话密钥
两步登录方式
登录
官方文档地址
Windows x64
macOS x64
Linux x64
Key Connector
Bitwarden CLI
要求 SSO
要求 SSO
参阅这里
将 CLI 连接到自托管 Bitwarden 服务器
受邀成员
移除您的主密码