14 个版本 (稳定版)

2.4.3 2024年7月17日
2.4.0 2024年5月15日
2.2.2 2023年7月27日
2.2.0 2023年3月1日
0.1.4 2022年7月1日

#104命令行工具

每月45 次下载

GPL-3.0-or-later

125KB
3K SLoC

Passlane

passlane-logo-small

一个使用 Keepass 作为存储后端的密码管理器和身份验证器 CLI。除了密码之外,它还支持带有定时一次性密码(TOTP)的 身份验证器功能,以及 支付卡安全笔记 的安全保存和管理。

Passlane 使用 Keepass 加密文件格式来存储数据。

Passlane 使用 Rust 编写。

功能

  • Keepass 存储格式,允许您与其他 Keepass 兼容的应用程序一起使用保险库
    • 支持 KDB、KDBX3 和 KDBX4 文件格式
    • 可以使用 密钥文件 选项地保护 Keepass 存储文件,以提供额外的保护
  • 生成和保存密码
  • 保存和查看支付卡信息
  • 保存和查看安全笔记
  • 带有 TOTP 的身份验证器功能
  • 从 CSV 文件导入密码
  • 将保险库内容导出到 CSV 文件

目录

安装

  1. 下载最新的 发布版
  2. 解压归档
  3. 将解压后的二进制文件 passlane 放置到您的 $PATH

从源码编译

  1. 安装 rust 开发环境: rustup
  2. 克隆此仓库
  3. 运行构建: cargo build --release
  4. 将构建的 passlane 二进制文件添加到您的 $PATH

Nix

使用 nix 运行 - 下面的示例创建一个新密码

nix run github:anssip/passlane

有关如何使用 CLI 的更多信息,请参阅下面的内容。

使用方法

首次设置

第一次运行Passlane时,它将在~/.passlane/store.kdbx创建一个新的保险库文件。这是一个与Keepass兼容的文件,用于存储您所有的密码、支付卡和安全笔记。您将被要求输入一个主密码,该密码将用于加密保险库内容。您还可以将主密码存储在您的计算机密钥链中,以避免每次都输入,下面有更多信息。

您还可以将保险库文件移动到云上,以便从所有设备访问。下面有更多信息

Keepass密钥文件

除了主密码外,您还可以使用密钥文件为保险库文件提供额外的保护。目前,Passlane不能用于创建密钥文件,但您可以使用KeepassXC或其他Keepass兼容应用创建一个。一旦您有了文件,请配置~/.passlane/目录中的.keyfile_path文件中的此文件位置。

锁定和解锁保险库

使用解锁命令将主密码存储在您的计算机密钥链中。这样,您每次访问密码和其他保险库内容时都不必输入主密码。在Mac上,然后可以使用生物识别验证来访问密钥链,进而访问保险库,而无需输入任何密码。

passlane unlock

您可以使用锁命令稍后从密钥链中删除主密码。

passlane lock

获取有关可用命令的帮助

 passlane -h

A password manager using Keepass as the storage backend.

Usage: passlane [COMMAND]

Commands:
  add     Adds an item to the vault. Without arguments adds a new credential, use -p to add a payment card and -n to add a secure note.
  edit    Edit an entry.
  csv     Imports credentials from a CSV file.
  delete  Deletes one or more entries.
  show    Shows one or more entries.
  lock    Lock the vaults to prevent all access
  unlock  Opens the vaults and grants access to the entries
  export  Exports the vault contents to a CSV file.
  help    Print this message or the help of the given subcommand(s)

Options:
  -h, --help  Print help

生成和保存密码

生成一个不保存的新密码。生成的密码值也复制到剪贴板。

passlane

通过从剪贴板复制密码来保存新凭据

passlane add -c --clipboard

通过一个命令生成新密码并保存凭据

passlane add -c -g

使用保存的凭据

您可以使用正则表达式搜索并显示保存的凭据

passlane show <regexp>

运行passlane show foobard.com --> 显示foobar.com的密码,并将其值复制到剪贴板。

如果搜索找到多个匹配项

  bin passlane show google
Unlocking vault...
Found 6 credentials:
+---+-----------------------------------------------------+--------------------------------+------------------+
|   | Service                                             | Username/email                 | Modified         |
+=============================================================================================================+
| 0 | https://127.0.0.1/signin/v2/challenge/pwd | [email protected]                | 23.04.2024 14:15 |
|---+-----------------------------------------------------+--------------------------------+------------------|
| 1 | google.com                                          | [email protected] | 23.04.2024 14:15 |
|---+-----------------------------------------------------+--------------------------------+------------------|
| 2 | google.com                                          | anssip                         | 23.04.2024 14:15 |
|---+-----------------------------------------------------+--------------------------------+------------------|
| 3 | google.com                                          | [email protected]             | 23.04.2024 14:15 |
+---+-----------------------------------------------------+--------------------------------+------------------+
To copy one of these passwords to clipboard, please enter a row number from the table above, or press q to exit: 3
Password from index 3 copied to clipboard!

支付卡

列出您保存的所有支付卡。

  bin passlane show -p
Unlocking vault...
Found 1 payment cards:
+---+----------------------+-------+--------+------------------+
|   | Name                 | Color | Expiry | Modified         |
+==============================================================+
| 0 | Visa Gold (personal) | Gold  | 6/2025 | 06.07.2024 10:51 |
+---+----------------------+-------+--------+------------------+
Do you want to see the full card details? (y/n)

保存支付卡

passlane add -p

您可以使用删除命令和-n选项删除笔记。

安全笔记

您还可以在Passlane中保存和管理安全笔记。笔记的内容、标题和笔记文本本身都完全加密,并且只能由您查看。

您可以在保险库中存储多行笔记。要添加安全笔记

passlane add -n

要删除安全笔记

passlane delete -n

要显示安全笔记

passlane show -n

身份验证器功能

默认情况下,Passlane将定时一次性密码存储在名为totp.json的文件中,位于~/.passlane/目录。您可以通过在~/.passlane/目录中存储名为.totp_vault_path的文本文件中的文件路径来更改位置。我们建议您将文件存储在与其他保险库文件不同的单独位置。这样,您就可以获得双因素认证的好处。您不希望将这些鸡蛋放在同一个篮子里。

以下是一个将totp保险库文件存储在Dropbox中的示例

~/.passlane > cat .totp_vault_path
/Users/anssi/Dropbox/stuff/totp.kdbx

OTP保险库有一个单独的主密码,您在访问一次性密码时需要输入。您还可以将主密码存储在您的计算机密钥链中,以避免每次都输入。使用带有-o选项的解锁命令来完成此目的。

passlane unlock -o

要添加新的一次性密码认证条目

passlane add -o

使用-o显示一次性密码。以下列出保险库中的所有OTP条目

passlane show -o

要按发行商名称查找,请使用以下命令

passlane show -o heroku

输出将是

Unlocking TOTP vault...
Found 1 matching OTP authorizers:

Code 447091 (also copied to clipboard). Press q to exit.
Next code in 23 seconds
.......................
.......................
Code 942344 (also copied to clipboard). Press q to exit.
Next code in 30 seconds
..............................
...

从 CSV 导入

您可以从CSV文件导入凭据。使用这种方法,您可以轻松地从不够优雅且通常昂贵的商业服务迁移。

首先,确保CSV文件有一个包含以下列标题的标题行(第1行)

  • 用户名
  • 密码
  • 服务

服务字段是服务的URL或名称。当从Dashlane导入时,唯一必要的准备工作是将url重命名为服务

要将凭据导出到CSV文件并将文件导入Passlane

passlane csv <path_to_csv_file>

以下链接提供了进行CSV导出的说明

导出到 CSV

您可以将所有保险库内容导出到CSV文件。导出的文件可以导入到其他密码管理器或电子表格程序。

要将凭据导出到名为creds.csv的文件中

passlane export creds.csv

要将支付卡导出到名为cards.csv的文件中。

passlane export -p cards.csv

要将安全便签导出到名为notes.csv的文件中

passlane export -n notes.csv

将数据同步到您的设备

您可以将保险库文件放置到类似Dropbox、Google Drive或iCloud Drive的云存储服务中。这样,您可以从所有设备访问密码。默认情况下,Passlane假定文件位于~/.passlane/store.kdbx。您可以通过在~/.passlane/目录中的.vault_path文本文件中存储文件路径来更改位置。

例如,这显示了John如何将路径/Users/john/Dropbox/Stuff/store.kdbx存储到.vault_path文件中

  ~ cat ~/.passlane/.vault_path
/Users/john/Dropbox/Stuff/store.kdbx

其他 Keepass 兼容的应用程序

还有其他几个KeePass兼容的应用程序,您可以使用它们来访问保险库文件

依赖关系

~15–26MB
~381K SLoC