开源软件

在 Linux 终端中管理您的密码

Pass 是一个经典的UNIX风格的密码管理系统,它使用 GnuPG(GPG)进行加密,并将终端作为其主要接口。

如今,我们或多或少都有几十个密码。幸运的是,其中大部分密码可能是关于网站的,您可能通过互联网浏览器访问大多数网站,并且大多数浏览器都有内置的密码管理器。最常见的互联网浏览器还具有同步功能,可帮助您在其他不同设备上运行的浏览器之间分发密码,因此在需要时,您随时都有登录信息。如果这对您来说还不够,那么像 BitWarden 这样的优秀开源项目可以管理您的加密密码,保证只有您有解锁它们的密钥。这些解决办法有助于轻松维护唯一的密码,我会使用这些方便的系统来选择密码。但是我的密码存储的主要保管库比这些方法中都要简单得多。我主要使用 pass,一个经典的UNIX风格的密码管理系统,它使用 GnuPG(GPG)进行加密,终端作为其主要接口。

安装通行证

您可以从分发存储库安装该命令。

在 Fedora、Mageia 和类似的发行版上,你可以使用包管理器安装它:

$ sudo dnf install pass

在 Elementary、Mint 和其他基于 Debian 的发行版上:

$ sudo apt install pass

在macOS上,您可以使用 Homebrew 安装它:

$ brew install pass

配置 GnuPG

在使用 之前,您需要一个有效的 PGP("Pretty Good Privacy")密钥。如果已维护 PGP 密钥,则可以跳过此步骤,也可以选择创建专门用于 的新密钥。最常见的开源 PGP 实现是 GnuPG(GPG),它随 Linux 一起提供,您可以从 gpgtools.org,Homebrew或 Macports将其安装在 macOS 上。 要创建 GnuPG 密钥,请运行以下命令:passpass

$ gpg --generate-key

系统会提示您输入您的姓名和电子邮件地址,并为密钥创建密码。您的密钥是一个数字文件,只有您知道您的密码。结合在一起使用,这两个东西便可以锁定和解锁加密信息,例如包含密码的文件。

GPG 钥匙很像房子钥匙或车钥匙。如果您丢失了它,则无法获取它被锁定的任何内容。仅仅知道您的密码是不够的。

如果您已经管理了多个 SSH 密钥,则可能已经习惯了这一点。如果您不熟悉数字加密密钥,则可能需要一些时间来适应。您下次决定一时兴起尝试令人兴奋的新发行版前,记得备份目录,这样您就不会意外删除它了。~/.gnupg 进行备份并保持备份安全。

配置通行

要开始使用 ,必须初始化密码存储,该密码存储被定义为配置为使用特定加密密钥的存储位置。您可以通过与密钥关联的名称或数字指纹来指示要用于密码存储的 GPG 密钥。您自己的姓名通常是更简单的选择:

$ pass init seth
mkdir: created directory '/home/seth/.password-store/'
Password store initialized for seth

如果您设法忘记了自己的姓名,则可以使用以下命令看到与您的密钥关联的数字指纹和姓名:

$ 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 
sub  cv25519 2022-01-06 [E] [expires: 2024-01-06]

使用指纹初始化密码存储与您的名字基本相同:

$ pass init 2BFF94286461216C907CBA52F067996F13EF10D8

存储密码

使用以下命令将密码添加到密码存储中:

$ pass add www.example.com
Enter password for www.example.com:

出现提示时,输入要添加的密码。

密码现在存储在您的密码存储中。您可以自己看看:

$ ls /root/.password-store/
www.example.com.gpg

当然,该文件是不可读的,如果您尝试运行或在其上运行,终端就会显示无法打印的字符(如果终端显示太不整洁,请使用修复您的终端。catlessreset)

使用通行证编辑密码

不同的在线活动我会使用不同的用户名,因此网站的用户名通常与密码一样重要。系统允许这样做,即使它默认情况下不会提示您这样做。您可以使用以下命令将用户名添加到密码文件中:

$ pass edit www.example.com

这将打开一个文本编辑器(特别是您设置为您的编辑器或环境变量),显示文件的内容。目前,这只是一个密码,但您可以添加用户名,甚至可以添加另一个URL或所需的任何信息。这是一个加密文件,因此您可以自由保留所需的内容。

bd%dc$3a49af49498bb6f31bc964718C
user: seth123
url: example.com

保存文件并将其关闭。

从通行证获取密码

要查看密码文件的内容,请使用以下命令:

$ pass show www.example.com
bd%dc$3a49af49498bb6f31bc964718C
user: seth123
url: www.example.org

搜索密码

有时很难记住密码是在哪里提交的,或者有些密码十分类似。此外,某些网站基础结构对不同的站点功能使用不同的 URL,因此,即使您对合作伙伴站点使用相同的登录信息,您也可以在这里提交密码。

如有疑问,请使用该命令显示搜索词的所有实例,包括文件名或文件内容:

$ pass grep example
www.example.com:
url: www.example.org

通过浏览器使用凭证

我也会使用互联网密码以外的信息,但网站却是我最常需要密码的地方。我通常会在计算机上的某个地方打开一个终端,因此Alt + Tab到终端并获取我需要的信息并不麻烦。但这不是我所做的,因为有插件可以与Web浏览器集成。

传递主机脚本

首先,安装主机脚本:

$ curl -sSL github.com/passff/passff-host/release/latest/download/install_host_app.sh

此安装脚本放置一个 Python 脚本,可帮助浏览器访问密码存储和 GPG 密钥。将它与您使用的浏览器的名称一起运行(或者不运行,以查看所有选项)

$ bash ./install_host_app.sh firefox

如果您使用多个浏览器,则可以为每个浏览器安装它。

传递附加组件

安装主机应用程序后,您可以为浏览器安装加载项或扩展。在浏览器的加载项或扩展管理器中搜索插件。

安装加载项,然后关闭并重新启动浏览器。

导航到您在密码存储中拥有其密码的网站。现在,登录文本字段右侧有一个小P图标。

单击P按钮可查看密码存储中匹配的站点名称的列表。

单击"笔和纸"图标以填写表单,或单击"纸飞机"图标以填充并自动提交表单。

简单的密码管理和完全集成!

尝试作为您的 Linux 密码管理器传递

对于想要使用他们熟悉的工具管理密码和个人信息的用户来说,该命令会是一个很好的选择。如果您已经习惯了 GPG 和终端,那么您可能会喜欢该系统。对于不希望将密码绑定到特定应用程序的用户来说,这也是一个重要的选择。也许您不只使用一个浏览器,或者您不喜欢这样的想法,即如果您决定停止使用应用程序,则可能很难从应用程序中提取密码。使用它 ,您可以在类似 UNIX 且简单的系统中保持对机密的控制。


翻译:2043xingyitong
参考资料:
Manage your passwords in the Linux terminal

对这篇文章感觉如何?

太棒了
0
不错
1
爱死了
0
不太好
0
感觉很糟
0

You may also like

Leave a reply

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

More in:开源软件

开源软件

五个在 Linux 下替代微软 Exchange 的开源方案

电子邮件和群件服务市场一直以来被微软 Exchange 统治。但仍有许多组织和企业由于其价格或对数据安全的重视,希望能够有其他更优的产品来替代它。本文将为您推荐基于 Linux 并开源的群件系统,它们各有其擅长的领域,个人和企业用户都能够从中选择适合自己的一款。
开源软件

更快的网络文件系统 — Oxfs

Oxfs 是一个类似与 SSHFS 的用户态网络文件系统,底层数据传输基于 SFTP 协议。Oxfs 引入异步刷新策略解决网络速度与用户操作文件读速度不匹配引起的卡顿问题。