目前,我需要管理的用户名和密码比任何人都应该处理的要多得多。我知道我不是唯一一个。我们有大量的密码需要管理,我们需要一个好的方法来管理它们,以便我们可以轻松访问,而不会做出像把它们写下来放在别人可能找到的地方这样的傻事。作为简单应用程序的爱好者,我更喜欢使用命令行密码管理器 pass
。
在多个服务中使用相同的用户名和密码从来都不是一个好主意。但在今天的世界里?这可能是灾难性的。所以我不会这样做。目前,我正在为我使用的所有服务管理大约 90 到 100 个密码。多个 Twitter 帐户、我的服务器凭据、OpenShift 应用程序、我的 FAS 凭据、Rdio 的登录名等等。
您可以想象,试图记住所有这些密码是一种徒劳的尝试。我记得我的系统密码和少数其他密码。除此之外?我宁愿把大脑有限的存储空间留给更重要的事情。
什么是 pass,它需要什么?
那么 pass
是什么呢?它基本上是一个简单的命令行实用程序,可以帮助您管理密码。它使用 GnuPG 加密文件来保存和管理用户密码。如果您选择这样设置,它甚至可以将它们保存在 git 存储库中。这意味着您需要安装 pass
软件包,以及它的依赖项,如 git
、gnupg2
和 pwgen
(一个用于生成密码的实用程序)。
是的,还有其他选择,但我很久以前就选择了 pass
,认为它最适合我的需求。以下是如何尝试一下,看看它是否适合您!
安装和设置
安装 pass
很简单。它为 Fedora 提供了方便的软件包。只需打开终端并运行
yum install -y pass
它应该会获取您需要的所有依赖项。
您需要做的第一件事是创建 GPG 密钥。有关详细说明,请参阅 Fedora wiki,或者直接使用
gpg --gen-key
并完成一系列提示。如有疑问,请接受默认值。现在,您只需要使用以下命令初始化您的密码存储:
pass init GPG-ID
将 “GPG-ID” 替换为您用于 GPG 密钥的电子邮件地址。
添加和创建密码
现在您已经设置了密码存储,是时候开始创建或插入密码了。如果您已经有要存储的密码,请使用
pass edit passwordname
例如,如果您要存储您的 Fedora 帐户系统 (FAS) 密码,您可以使用
pass edit FAS/user
其中 “user” 是您在 FAS 中的用户名。
这将在 Git 中创建一个目录 (FAS) 和文件 (user),并加密该文件,以便任何人在没有您的 GPG 密码的情况下都无法读取它。如果您查看 ~/.password-store/FAS/
,您会看到一个类似 user.gpg
的文件。目录部分是可选的,但我发现它有助于跟踪密码。
如果您想创建一个新密码,只需使用
pass generate FAS/user 12
其中 “FAS/user” 将是用户名,密码长度(由 pwgen
生成)将为 12 个字符。自动生成的密码将包括大写和小写字母、数字和特殊字符。
创建 git 存储库
对我来说,pass
最大的卖点之一是它与 git 的集成。但这不是自动的;您确实需要告诉它初始化 git 仓库并使用它。首先,请确保您已设置 git 全局变量
git config --global user.email "your@email.com"
git config --global user.name "Awesome User"
然后运行
pass git init
它将在您的密码存储中初始化一个 git 存储库。从那时起,它将自动将新密码等添加到 git 仓库。如果您想在多台机器上管理密码,这非常容易:只需在其他地方克隆存储库,并像管理普通 git 仓库一样保持同步。
读取密码
要回忆密码,您只需运行 pass user
,因此 pass FAS/user
会将密码打印到终端。但是,如果您不希望密码被偷看您肩膀的人看到怎么办?
这是一个巧妙的解决方法。只需使用
pass -c FAS/user
它会将您的密码复制到剪贴板 45 秒。您所要做的就是运行命令,移动到您要输入密码的应用程序,然后按 Enter 键。
如果您忘记了您使用 pass
存储了哪些密码,只需使用 pass ls
,您将获得完整列表。
删除密码
有时您需要删除密码。只需使用
pass rm user
pass
会询问您是否确定,然后删除密码文件。
如果您不小心删除了某些内容,您可以简单地返回并恢复提交!
保持安全
这就是使用 pass
的基本知识。您可以通过运行以下命令获得更多示例
man pass
我强烈建议至少浏览一遍手册页。
我已经使用 pass
一段时间了,它一直是我的救星。我希望它也能像帮助我一样帮助您!
最初发表于 Fedora Magazine。在此根据 Creative Commons 重新发布。
7 条评论