大家好,我是良许。

现在是互联网时代,我们每天都要跟各种 APP 、网站打交道,而这些东西基本上都需要注册才可以使用。

但是账号一多,我们自己都经常记不清对应的密码了。有些小伙伴就一把梭,所有的账号密码都是一样。但这样操作的风险显而易见,一旦密码泄露,你所有的账号都会陷入风险之中!

在浏览器上,我们有 1Password、Dashlane、RoboForm,等等非常优秀的密码管理软件,但缺点是基本上都需要收费(不,这是我的缺点)~

本文介绍一款在 Linux 终端上就可以使用的密码管理器 pass ,这是一个经典的 UNIX 风格的密码管理系统,使用 GnuPG (GPG) 进行加密,小巧好用!

一、安装pass工具

pass 在很多发行版软件库里都有,使用各自的安装命令即可完成安装。

在 Ubuntu、Elementary 等基于 Debian 的发行版上,使用 apt 命令安装:

$ sudo apt install pass

在 Fedora 及类似的发行版上,可以使用 dnf 命令安装:

$ sudo dnf install pass

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

$ brew install pass

二、配置GnuPG

前文提到 pass 工具是使用 GnuPG 进行加密,所以在使用 pass 之前,我们需要一个有效的 PGP(Pretty Good Privacy)密钥。如果你已经有了 PGP 密钥,则可以跳过此步骤。

要创建 GnuPG 密钥,需要运行以下命令:

$ gpg --generate-key

系统会提示你输入姓名和电子邮件地址,并为密钥创建密码。你的密钥是一个数字文件,密码只有你自己知道。之后我们就可以使用 pass 工具锁定和解锁加密信息,例如一个包含有密码的文件。

GPG 密钥非常重要,如果你失去了它,任何被它锁住的东西都将变得无法解锁,即使知道你的密码。所以,你一定要备份你的 ~/.gnupg 目录,这样下次如果重装系统,也不会意外删除它。

作为程序员,一定要有备份意识。

三、配置pass工具

刚开始使用 pass 时,需要初始化密码仓库,这个密码仓库可以理解为将来你用来存储密码的地方。

你可以使用以下命令初始化 pass 工具:

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

在这里,alvin 就是你的名字,因为到时可以有多人使用这个工具,所以需要区分一下。

如果你忘记了你初始化时所使用的名字,可以使用以下 gpg 命令查看与你的密钥关联的数字指纹和名称:

$ gpg --list-keys
gpg --list-keys
/home/alvin/.gnupg/pubring.kbx
-----------------------------
pub  ed25519 2022-01-06 [SC] [expires: 2024-01-06]2BFF94286461216C907CBA52F067996F13EF10D8
uid  [ultimate] Alvin Yan <alvin@example.com>
sub  cv25519 2022-01-06 [E] [expires: 2024-01-06]

四、pass工具基本使用方法

1. 使用pass工具存储密码

可以使用 pass add 命令将密码添加到你的密码存储区:

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

按下回车后,会提示你输入要添加的密码。

输好密码后,密码将存储在你的密码仓库中,你可以看一眼这个文件:

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

当然,该文件是不可读的,如果你尝试运行 catless 命令来查看,那么你会看到一堆乱码。

2. 使用pass工具编辑密码

常在网上走,哪有不泄密。所以,为了防止撞库,最稳妥的方式就是为不同网站设置不同的账号和密码。直接使用 pass add 命令的话,默认只添加密码,但我们可以人工添加用户名。

使用 pass edit 命令可以将用户名添加到密码文件:

$ pass edit www.example.com

敲下回车后,密码文件将被打开。在这里,你可以添加用户名,甚至是另一个 URL 或其它想要的信息。这是一个加密文件,因此你可以记录任何你想加密的信息。

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

3. 从pass中获取密码

想要查看密码文件的内容,可以使用 pass show 命令:

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

4. 在pass工具中搜索密码

有时候,你有可能忘记网站的域名是啥,但有可能零星记得网址里的某些单词,那么就可以使用 pass grep 命令以文件名或文件内容显示搜索词的所有结果:

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

五、在浏览器上使用pass工具

现在我们可以安全存储显示密码了,但这样还是很不方便。我们总不可能在上网的时候,需要填密码时还要打开终端,再找到密码,然后再填进密码框,简直让人抓狂!

好在 pass 工具有对应的脚本及工具可以让我们更方便使用。

1. pass脚本

首先,安装 pass 脚本:

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

这是一个 Python 脚本,它可以帮助你的浏览器访问你的密码仓库和 GPG 密钥。安装时,需要与所使用的浏览器的名称一起运行:

$ bash ./install_host_app.sh firefox

如果你使用多个浏览器,那么可以为每个浏览器安装这个脚本。

2. pass插件

安装完脚本后,接下来就需要为浏览器安装 pass 插件。你可以在浏览器的插件中心找到 PassFF 插件,然后一键安装即可。

安装完插件之后,关闭并重新启动浏览器。

然后,我们再打开一个你存储过密码对应的站点,你会发现登录文本字段右侧有一个小 P 图标。

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

点击笔和纸图标填写表格或点击纸飞机图标填写并自动提交表格。

搞定!


学习编程,千万不要急于求成,一定要多读一些经典书籍,多看源码,多下苦功夫去死磕代码,这样技术才能长进。给大家分享一些程序员必读经典书籍,一定要多读几遍:

有收获?希望老铁们来个三连击,给更多的人看到这篇文章

推荐阅读:

  • 干货 | 程序员进阶架构师必备资源免费送
  • 刷题 | LeetCode算法刷题神器,看完 BAT 随你挑!

欢迎关注我的博客:良许Linux教程网,满满都是干货!

在Linux终端管理你的密码!相关推荐

  1. linux怎么设置wifi密码,技术|怎样在 Arch Linux 终端上更改 WiFi 密码

    我从来没有在 Arch Linux 终端上用命令行来更改 WiFi 密码.我开始在 google 上搜索相关资料,并且在 Arch Linux 论坛找到了一个好的解决办法. • 来源:linux.cn ...

  2. Linux 用户管理 4 之密码管理

    Linux 用户管理 1 之简介 Linux 用户管理 2 之切换用户 Linux 用户管理 3 之创建用户 Linux 用户管理 4 之密码管理 Linux 用户管理 5 之用户属性属性 我们可以通 ...

  3. linux 进程代码,怎样从Linux终端管理进程:10个你必须知道的命令

    Linux终端有一系列有用的命令.它们可以显示正在运行的进程.杀死进程和改变进程的优先级.本文列举了一些经典传统的命令和一些有用新颖的命令.本文提到的命令会实现某个单一功能.它们可以结合起来--这也是 ...

  4. 怎样从Linux终端管理进程:10个你必须知道的命令

    本文由 极客范 - Ben Zhang 翻译自 Chris Hoffman.欢迎加入极客翻译小组,同我们一道翻译与分享.转载请参见文章末尾处的要求. Linux终端有一系列有用的命令.它们可以显示正在 ...

  5. 从Linux终端管理进程:10个你必须知道的命令

    Linux终端有一系列有用的命令.它们可以显示正在运行的进程.杀死进程和改变进程的优先级.本文列举了一些经典传统的命令和一些有用新颖的命令.本文提到的命令会实现某个单一功能.它们可以结合起来--这也是 ...

  6. linux 终端管理工具,linux服务器-远程管理-screen:强大的终端管理工具

    screen 能够支持多个终端窗口 这样能给我们在终端的操作带来大量的便利 比如:我们可以在一个window中编译程序,在另一个windows中写代码,在第三个window中下载软件,在第四个wind ...

  7. Linux终端管理软件

    tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权.使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再& ...

  8. 管理Linux终端的screen命令示例

    screen是一个全屏幕软件程序,他可以用于在若干进程(一般交换的shells)之间复用一个物理console.它提供给用户在单个终端窗口管理器中打开若干单独的终端实例. 如果你从一个命令行接口处理多 ...

  9. 在 Linux 中用Seahorse管理你的密码和加密密钥

    Seahorse 是一个简洁的开源密码和加密密钥管理器,让我们来探讨一下它的功能和如何安装它. Seahorse 是一个简洁的开源密码和加密密钥管理器,让我们来探讨一下它的功能和如何安装它. 我们经常 ...

  10. linux没有root密码xshell,LINUX终端免密登陆(以Xshell为例)

    1,工具-新建用户密钥生成向导linux 2,密钥类型选择:RSA,而后下一步shell 3,输入密钥名称和密码ssh 4,公钥格式为SSH-OpenSSH,保存为文件(后缀为pub)(记录此文件目录 ...

最新文章

  1. Ubuntu 14.04+cuda 7.5+caffe安装配置
  2. sqlu8多阶级层次bom_男性比女性多3164万:性别比例失衡,为何还有那么多剩女?...
  3. 在linuxc中如何实现输入隐藏
  4. Springboot整合RabbitMq-用心看完这一篇就够了(最新)
  5. 除了PS,还有它可以轻松实现图像处理!
  6. matlab安装无效距离过远,求助matlab的远程序
  7. 训练日志 2019.1.25
  8. 你不知道你不懂javascript
  9. Ajax ControlToolkit - AnimationExtender Action语法(笔记)
  10. 奇怪的比赛--蓝桥杯
  11. Python安装Tensorflow
  12. c#调用摄像头进行二维码扫码
  13. GoGoCode 代码语言转换
  14. 【壁上观】AMD ZEN将至能战8核i7 Intel慌不慌?
  15. CodingTrip - 携程编程大赛 (预赛第二场)
  16. java的课程总结报告_java课程总结报告
  17. HmacSHA1 STM32F4xx C语言实现
  18. Flink线上问题: The assigned slot container_xxx was removed
  19. 又一个免费的域名邮箱:Pingly.com
  20. 京东商城项目实战(2)------京东商城登录页面

热门文章

  1. 双软认证的政策解读、好处及申报指南
  2. linux下查看线程信息 /proc/pid/status /proc/pid/task/tid/status文件说明
  3. 波哥学JAVA基础教程 5.1.2 封装方法
  4. java计算机毕业设计基于安卓Android/微信小程序的学生选课系统APP
  5. 详解Unity中的Nav Mesh新特性|导航寻路系统 (一)
  6. 前端如何快速的给写好的html起一个服务
  7. vmware centos7 kubeadm 快速搭建k8s集群(学习尚硅谷课件)
  8. 严守工期,确保质量,这家AI数据标注公司做到了!
  9. 不懂做计划,团队全拉垮?聪明的管理者都是这样做计划管理
  10. “微信小号”注册攻略!无需绑定手机号也能注册一个新微信