如今,我们每个人都有几十个密码。幸运的是,这些密码的大部分可能用于网站,并且您可能通过互联网浏览器访问大多数网站,而大多数浏览器都有内置的密码管理器。最常见的互联网浏览器还具有同步功能,可帮助您在所有设备上运行的浏览器之间分发密码,这样您在需要时就不会缺少登录信息。如果这还不够,还有优秀的开源项目,例如 BitWarden 可以托管您的加密密码,确保只有您拥有解锁密码的密钥。这些解决方案有助于轻松维护唯一密码,我为一部分密码使用了这些便捷的系统。但是,我的主要密码存储库比任何这些方法都简单得多。我主要使用 pass,这是一个经典的 UNIX 风格密码管理系统,它使用 GnuPG (GPG) 进行加密,并以终端作为其主要界面。
安装 pass
您可以从您的发行版仓库安装 pass
命令。
在 Fedora、Mageia 和类似的发行版上,您可以使用您的软件包管理器安装它
$ sudo dnf install pass
在 Elementary、Mint 和其他基于 Debian 的发行版上
$ sudo apt install pass
在 macOS 上,您可以使用 Homebrew 安装它
$ brew install pass
配置 GnuPG
在使用 pass
之前,您需要一个有效的 PGP (“Pretty Good Privacy”) 密钥。如果您已经维护了一个 PGP 密钥,您可以跳过此步骤,或者您可以选择创建一个新密钥专门用于 pass
。最常见的开源 PGP 实现是 GnuPG (GPG),它随 Linux 一起提供,您也可以从 gpgtools.org、Homebrew 或 Macports 在 macOS 上安装它。要创建 GnuPG 密钥,请运行此命令
$ gpg --generate-key
系统会提示您输入姓名和电子邮件地址,并为密钥创建密码。您的密钥是一个数字文件,您的密码只有您知道。这两者结合起来可以锁定和解锁加密信息,例如包含密码的文件。
GPG 密钥很像房屋钥匙或汽车钥匙。如果您丢失了它,那么由它锁定的任何东西都将变得无法获得。仅仅知道您的密码是不够的。
如果您已经管理了多个 SSH 密钥,您可能已经习惯了这一点。如果您是数字加密密钥的新手,则可能需要一些时间来适应。备份您的 ~/.gnupg
目录,这样您就不会在下次心血来潮决定尝试令人兴奋的新发行版时意外删除它。
制作备份并安全保管备份。
配置 pass
要开始使用 pass
,您必须初始化一个密码存储库,它被定义为配置为使用特定加密密钥的存储位置。您可以通过与密钥关联的名称或数字指纹来指示您要为密码存储库使用哪个 GPG 密钥。您自己的名字通常是更简单的选择
$ pass init seth
mkdir: created directory '/home/seth/.password-store/'
Password store initialized for seth
如果您忘记了自己的名字,可以使用 gpg
命令查看与您的密钥关联的数字指纹和名称
$ gpg --list-keys
gpg --list-keys
/home/seth/.gnupg/pubring.kbx
-----------------------------
pub ed25519 2022-01-06 [SC] [expires: 2024-01-06]
2BFF94286461216C907CBA52F067996F13EF10D8
uid [ultimate] Seth Kenlon <seth@example.com>
sub cv25519 2022-01-06 [E] [expires: 2024-01-06]
使用指纹初始化密码存储库与使用您的名字基本相同
$ pass init 2BFF94286461216C907CBA52F067996F13EF10D8
存储密码
使用 pass add
命令将密码添加到您的密码存储库
$ pass add www.example.com
Enter password for www.example.com:
在提示时输入您要添加的密码。
密码现在存储在您的密码存储库中。您可以自己查看一下
$ ls /root/.password-store/
www.example.com.gpg
当然,该文件是不可读的,如果您尝试对其运行 cat
或 less
,您将在终端中获得不可打印的字符(如果您的终端显示过于混乱,请使用 reset
修复您的终端。)
使用 pass 编辑密码
我为不同的在线活动使用不同的用户名,因此网站的用户名通常与密码一样重要。pass
系统允许这样做,即使它默认情况下不会提示您输入用户名。您可以使用 pass edit
命令将用户名添加到密码文件中
$ pass edit www.example.com
这将打开一个文本编辑器(特别是您设置为 EDITOR
或 VISUAL
环境变量 的编辑器),显示 www.example.com
文件的内容。目前,这只是一个密码,但您可以添加用户名,甚至添加另一个 URL 或任何您想要的信息。这是一个加密文件,因此您可以自由地在其中保留您想要的内容。
bd%dc$3a49af49498bb6f31bc964718C
user: seth123
url: example.com
保存文件并关闭它。
从 pass 获取密码
要查看密码文件的内容,请使用 pass show
命令
$ pass show www.example.com
bd%dc$3a49af49498bb6f31bc964718C
user: seth123
url: www.example.org
搜索密码
有时很难记住密码是归档在 www.example.com
下,还是仅归档在 example.com
下,甚至是像 app.example.com
这样的名称下。此外,一些网站基础设施对不同的站点功能使用不同的 URL,因此您可能会将密码归档在 www.example.com
下,即使您也对合作伙伴站点 www.example.org
使用相同的登录信息。
如有疑问,请使用 grep
。pass grep
命令显示搜索词的所有实例,无论是在文件名中还是在文件内容中
$ pass grep example
www.example.com:
url: www.example.org
将 pass 与浏览器一起使用
我使用 pass
来管理不仅仅是互联网密码的信息,但网站是我最常需要密码的地方。我通常在我的计算机上的某个地方打开一个终端,因此 Alt+Tab 切换到终端并使用 pass
获取我需要的信息并不麻烦。但这并不是我所做的,因为有一些插件可以将 pass
与 Web 浏览器集成。
Pass 主机脚本
首先,安装 pass
主机脚本
$ curl -sSL github.com/passff/passff-host/release/latest/download/install_host_app.sh
此安装脚本放置一个 Python 脚本,该脚本可帮助您的浏览器访问您的密码存储库和 GPG 密钥。将其与您使用的浏览器的名称一起运行(或不带任何名称,以查看所有选项)
$ bash ./install_host_app.sh firefox
如果您使用多个浏览器,则可以为每个浏览器安装它。
Pass 插件
安装主机应用程序后,您可以为浏览器安装插件或扩展程序。在浏览器的插件或扩展程序管理器中搜索 PassFF
插件。

(Seth Kenlon, CC BY-SA 4.0)
安装插件,然后关闭并重新启动浏览器。
导航到您在密码存储库中拥有密码的站点。现在在您的登录文本字段的右侧有一个小的 P 图标。

(Seth Kenlon, CC BY-SA 4.0)
单击 P 按钮以查看密码存储库中匹配的站点名称列表。

(Seth Kenlon, CC BY-SA 4.0)
单击笔和纸图标以填写表单,或单击纸飞机图标以填写并自动提交表单。
简单易用的密码管理,并且完全集成!
尝试将 pass 用作您的 Linux 密码管理器
对于想要使用他们每天已经使用的工具来管理密码和个人信息的用户来说,pass
命令是一个很好的选择。如果您已经依赖 GPG 和终端,那么您可能会喜欢 pass
系统。对于不希望其密码与特定应用程序绑定的用户来说,这也是一个重要的选择。也许您不只使用一个浏览器,或者您不喜欢如果您决定停止使用某个应用程序,那么从该应用程序中提取密码可能很困难的想法。使用 pass
,您可以在类似 UNIX 且直接的系统中保持对您的秘密的控制。
评论已关闭。