其他
pass 是 Linux 上的一个简单的命令行密码管理器,它将密码存储在一个 gpg 加密后的文件里。这些加密后的文件很好地组织按目录结构存放。
-- 2daygeek


本文导航


现如今要记住类似 email、银行、社交媒体、在线支付、ftp 等等这么多的密码相信对每一个人来说都是一个巨大的挑战。

由于需求和使用,密码管理器现如今变得非常的流行。在 Linux 中我们可以有很多选择,包括基于 GUI 和基于 CLI 两种。今天我们要讲的是一款基于 CLI 的密码管理器叫做 pass 。

pass[1] 是 Linux 上的一个简单的命令行密码管理器,它将密码存储在一个 gpg 加密后的文件里。这些加密后的文件很好地组织按目录结构存放。

所有密码都存在于 ~/.password-store 中,它提供了添加、编辑、生成和检索密码等简单命令。

它是一个非常简短和简单的 shell 脚本。 它能够临时将密码放在剪贴板上,并使用 git 跟踪密码的修改。

这是一个很小的 shell 脚本,它还使用了少量的默认工具比如 gnupgtree 和 git,同时还有活跃的社区为它提供 GUI 和扩展。

如何在 Linux 中安装 Pass

Pass 可从大多数 Linux 的主要发行版的仓库中获得。 所以,你可以使用你的分布式包管理器来安装它。

对于基于 Debian 的系统,你可以使用 apt-get[3] 或 apt[4] 包管理器命令来安装 pass。

  1. $ sudo apt-get install pass

对于基于 RHEL/CentOS 的操作系统, 使用 yum[5] 包管理器命令来安装它。

  1. $ sudo yum install pass

Fedora 系统可用 dnf[6] 包管理器命令来安装。

  1. $ sudo dnf install pass

openSUSE 系统可以用 zypper[7] 包管理器命令来安装。

  1. $ sudo zypper in password-store

对于基于 Arch Linux 的操作系统用 pacman[8] 包管理器来安装它。

  1. $ pacman -S pass

如何生成 GPG 密钥对

确保你拥有你个人的 GPG 密钥对。如果没有的话,你可以通过在终端中输入以下的命令并安装指导来创建你的 GPG 密钥对。

  1. $ gpg --gen-key

运行以上的命令以生成 GPG 密钥对时会有一系列的问题询问,谨慎输入问题的答案,其中有一些只要使用默认值即可。

初始化密码存储

如果你已经有了 GPG 密钥对,请通过运行以下命令初始化本地密码存储,你可以使用 email-id 或 gpg-id 初始化。

  1. $ pass init 2daygeek@gmail.com

  2. mkdir: created directory '/home/magi/.password-store/'

  3. Password store initialized for 2daygeek@gmail.com

上述命令将在 ~/.password-store 目录下创建一个密码存储区。

pass 命令提供了简单的语法来管理密码。 我们一个个来看,如何添加、编辑、生成和检索密码。

通过下面的命令检查目录结构树。

  1. $ pass

  2. or

  3. $ pass ls

  4. or

  5. $ pass show

  6. Password Store

我没有看到任何树型结构,所以我们将根据我们的需求来创建一个。

插入一个新的密码信息

我们将通过运行以下命令来保存 gmail 的 id 及其密码。

  1. $ pass insert eMail/2daygeek@gmail.com

  2. mkdir: created directory '/home/magi/.password-store/eMail'

  3. Enter password for eMail/2daygeek@gmail.com:

  4. Retype password for eMail/2daygeek@gmail.com:

执行重复操作,直到所有的密码插入完成。 比如保存 Facebook 密码。

  1. $ pass insert Social/Facebook_2daygeek

  2. mkdir: created directory '/home/magi/.password-store/Social'

  3. Enter password for Social/Facebook_2daygeek:

  4. Retype password for Social/Facebook_2daygeek:

我们可以列出存储中的所有现有的密码。

  1. $ pass show

  2. Password Store

  3. ├── 2g

  4. ├── Bank

  5. ├── eMail

  6.   ├── 2daygeek@gmail.com

  7.   └── magesh.maruthamuthu@gmail.com

  8. ├── eMail

  9. ├── Social

  10.   ├── Facebook_2daygeek

  11.   └── Gplus_2daygeek

  12. ├── Social

  13. └── Sudha

  14.    └── sudha21.magesh@gmail.com

显示已有密码

运行以下命令从密码存储中检索密码信息,它会询问你输入密码以解锁。

  1. $ pass eMail/2daygeek@gmail.com

  2. *******

在剪贴板中复制密码

要直接将密码直接复制到剪贴板上,而不是在终端上输入,请使用以下更安全的命令,它会在 45 秒后自动清除密码。

  1. $ pass -c eMail/magesh.maruthamuthu@gmail.com

  2. Copied eMail/magesh.maruthamuthu@gmail.com to clipboard. Will clear in 45 seconds.

生成一个新密码

如果你想生成一些比较难以猜测的密码用于代替原有的奇怪密码,可以通过其内部的 pwgen功能来实现。

  1. $ pass generate eMail/2daygeek@gmail.com 15

  2. An entry already exists for eMail/2daygeek@gmail.com. Overwrite it? [y/N] y

  3. The generated password for eMail/2daygeek@gmail.com is:

  4. y!NZ<%T)5Iwym_S

生成没有符号的密码。

  1. $ pass generate eMail/2daygeek@gmail.com 15 -n

  2. An entry already exists for eMail/2daygeek@gmail.com. Overwrite it? [y/N] y

  3. The generated password for eMail/2daygeek@gmail.com is:

  4. TP9ACLyzUZUwBwO

编辑现有的密码

使用编辑器插入新密码或编辑现有密码。 当你运行下面的命令时,将会在包含密码的文本编辑器中打开文件 /dev/shm/pass.wUyGth1Hv0rnh/6kOBG-eMail-2daygeek@gmail.com.txt。 只需在其中添加新密码,然后保存并退出即可。

  1. $ pass edit eMail/2daygeek@gmail.com

  2. File: /dev/shm/pass.wUyGth1Hv0rnh/6kOBG-eMail-2daygeek@gmail.com.txt                                                                  

  3. TP9ACLyzUZUwBwO

移除密码

删除现有密码。 它将从 ~/.password-store 中删除包含 .gpg 的条目。

  1. $ pass rm eMail/2daygeek@gmail.com

  2. Are you sure you would like to delete eMail/2daygeek@gmail.com? [y/N] y

  3. removed '/home/magi/.password-store/eMail/2daygeek@gmail.com.gpg'

多选项功能

要保存详细信息,如 URL、用户名、密码、引脚等信息,可以使用以下格式。 首先确保你要将第一项设置为密码,因为它用于在使用剪贴板选项时将第一行复制为密码,以及后续行中的附加信息。

  1. $ pass insert eMail/2daygeek@gmail.com -m

  2. Enter contents of eMail/2daygeek@gmail.com and press Ctrl+D when finished:

  3. H3$%hbhYT

  4. URL : http://www.2daygeek.com

  5. Info : Linux Tips & Tricks

  6. Ftp User : 2g

 (题图:Pixabay, CC0)


via: http://www.2daygeek.com/pass-command-line-password-manager-linux/

作者:2DAYGEEK[9] 译者:chenxinlong 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出


LCTT 译者
Cinlen Chan (chenxinlong)共计翻译:10 篇贡献时间:2016-07-04 -> 2017-06-29

推荐文章

< 左右滑动查看相关文章 >

点击图片、输入文章 ID 或识别二维码直达



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存