pass:一款简单的基于Linux命令行的密码管理工具

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

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

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

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

  • 建议阅读:KeePass - 存储/安全密码的最佳密码管理工具

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

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

如何在 Linux 中安装 Pass

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

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


  1. $ sudo apt-get install pass 

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


  1. $ sudo yum install pass 

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


  1. $ sudo dnf install pass 

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


  1. $ sudo zypper in password-store 

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


  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 

作者:2daygeek

来源:51CTO

时间: 2024-11-02 05:43:52

pass:一款简单的基于Linux命令行的密码管理工具的相关文章

推荐 | 基于Linux命令行的五个文件下载和网站浏览工具

Linux命令行是GNU/Linux中最神奇迷人的部分,它是非常强大的工具.命令行本身功能多样,多种内建或者第三方的命令行应用使得Linux变得更加健壮和强大.Linux Shell支持多种不同类型的网络应用,无论是BT下载软件,专用下载器或者互联网冲浪. 5个命令行互联网工具 这里我们介绍了5个很好的命令行互联网工具,它们非常有用,也很容易上手. 1. rTorrent rTorrent是基于文本,用C++编写,追求高性能的Torrent客户端.支持大部分标准的Linux发行版,包括FreeB

3个常用基于Linux系统命令行WEB网站浏览工具(w3m/Links/Lynx)

一般我们常用的浏览器肯定是基于可视化界面的图文结合的浏览界面效果,比如FireFox.Chrome.Opera等等,但是有些时候折腾和项目的需要,在Linux环境中需要查看某个页面的文字字符,我们需要简单的浏览网页页面,但是也不需要特别复杂的视频.图片功能.   我们可以采用本地客户端的浏览然后再去校队,但是效率比较低,或者直接在Linux服务器中用wget类似的下载工具到本地,然后再去搜索字符,今天老左有接触到适合Linux系统环境的WEB网站浏览器工具,常用的有w3m.Links.Lynx三

Linux 命令行下的最佳文本编辑器

文本编辑软件在任何操作系统上都是必备的软件.我们在 Linux 上不缺乏非常现代化的编辑软件,但是它们都是基于 GUI(图形界面)的编辑软件. 正如你所了解的,Linux 真正的魅力在于命令行.当你正在用命令行工作时,你就需要一个可以在控制台窗口运行的文本编辑器. 正因为这个目的,我们准备了一个基于 Linux 命令行的文本编辑器清单. VIM 如果你已经使用 Linux 有一段时间,那么你肯定听到过 Vim .Vim 是一个高度可配置的.跨平台的.高效率的文本编辑器. 几乎所有的 Linux

如何在Linux命令行中创建以及展示演示稿

如何在Linux命令行中创建以及展示演示稿 你在准备一场演讲的时候,脑海可能会先被图文并茂.形象华丽的演示图稿所占据.诚然,没有人会否认一份生动形象的演讲稿所带来的积极作用.然而,并非所有的演讲都需要TED Talk的质量.更多时候,演讲稿只为传达特定的信息. 而这个,使用文本信息足以完成.在这种情况下,你的时间可以更好的花在信息的搜集和核实上面,而不是在谷歌图片搜索(Google Image)上寻找好看的图片. 在Linux的世界里,有几个不同的方式供你选择来做演讲.比如带有大量多媒体展示.视

《Linux命令行大全》——第1章 shell是什么 1.1终端仿真器

第1章 shell是什么 Linux命令行大全 当谈到命令行时,我们实际上指的是shell.shell是一个接收由键盘输入的命令,并将其传递给操作系统来执行的程序.几乎所有的Linux发行版都提供shell程序,该程序来自于称之为bash的GNU项目.bash是Bourne Again Shell的首字母缩写,Bourne Again Shell基于这样一个事实,即bash是sh的增强版本,而sh是最初的UNIX shell程序,由Steve Bourne编写. 1.1 终端仿真器 当使用图形用

如何在Linux 命令行下浏览天气预报

  Q: 我经常在 Linux 桌面查看天气预报.然而,是否有一种在终端环境下,不通过桌面小插件或者浏览器查询天气预报的方法? 其中有一个就是wego,一个终端下的小巧程序.使用基于ncurses 的接口,这个命令行程序允许你查看当前的天气情况和之后的预报.它也会通过一个天气预报的API 收集接下来5 天的天气预报. 在Linux 下安装 wego 安装 wego 相当简单.wego 是用 Go 编写的,引起第一个步骤就是安装Go 语言.然后再安装 wego. $ go get github.c

你值得了解的 10 个有趣的 Linux 命令行小技巧

我非常喜欢使用命令,因为它们比 GUI(图形用户界面)应用程序对 Linux 系统提供更多的控制,因此,我一直在寻找一些有趣的方法让 Linux 的操作变得简单好玩,主要是基于终端操作. 当我们发现使用 Linux 的新技巧时,尤其是像我这样的命令行极客,我们总会感到非常来劲. 建议阅读: 5 有趣的 Linux 命令行技巧 - 第一部分 而且我们也会很想与数百万 Linux 用户分享新学到的实践或命令,特别是那些还在使用自己的方式操作这个令人兴奋的操作系统的新手们. 建议阅读: 10 个对新手

又一波你可能不知道的 Linux 命令行网络监控工具

又一波你可能不知道的 Linux 命令行网络监控工具 对任何规模的业务来说,网络监控工具都是一个重要的功能.网络监控的目标可能千差万别.比如,监控活动的目标可以是保证长期的网络服务.安全保护.对性能进行排查.网络使用统计等.由于它的目标不同,网络监控器使用很多不同的方式来完成任务.比如对包层面的嗅探,对数据流层面的统计数据,向网络中注入探测的流量,分析服务器日志等. 尽管有许多专用的网络监控系统可以365天24小时监控,但您依旧可以在特定的情况下使用命令行式的网络监控器,某些命令行式的网络监控器

Linux命令行测试网速

很多时候我们需要测试Linux服务器的上行和下行宽带.在可用于测试宽带速度的网站中,Speedtest.net也许是使用最广泛的应用"之一". Speedtest.net提供了一个命令行版本--speedtest-cli.下面将向你演示如何在Linux的命令行中使用speedtest-cli来测试宽带连接速度. 一.安装speedtest-cli speedtest-cli是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行.它基于Speed