大家好,我是良许。

现在是互联网时代,我们每天都要跟各种 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 按钮可查看密码仓库中匹配的站点名称列表。

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

搞定!

在Linux终端管理你的密码!的更多相关文章

  1. (转载)如何借助KeePassX在Linux上管理多个密码

    转自:http://netsecurity.51cto.com/art/201311/417764.htm 如今,基于密码的身份验证在网上非常普遍,结果你恐怕数不清自己到底在使用多少个密码.实际上,据 ...

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

    从Linux终端管理进程:10个你必须知道的命令 Linux终端有一系列有用的命令.它们可以显示正在运行的进程.杀死进程和改变进程的优先级.本文列举了一些经典传统的命令和一些有用新颖的命令.本文提到的 ...

  3. 在Linux终端管理文件你要知道的11个命令

    LS - 列表文件 ls命令列出目录中的文件. 默认情况下,使用ls列出当前目录下的文件. 2 你也可以列出文件递归-也就是说,列出所有文件在当前目录中的目录-使用ls -R.LS还可以列出在其他目录 ...

  4. 第七天 Linux用户管理、RHEL6.5及RHEL7.2 root密码破解、RHEL6.5安装vmware tools

    1.Linux用户管理 Linux系统中,存在三种用户 A.超级用户:root 最高权限,至高无上 在windows中 administrator是可以登录的最高权限,但是,system权限最高,不能 ...

  5. 20个Linux命令及Linux终端的趣事

    20个Linux命令及Linux终端的趣事 . 命令:sl (蒸汽机车) 你可能了解 ‘ls’ 命令,并经常使用它来查看文件夹的内容.但是,有些时候你可能会拼写成 ‘sl’ ,这时我们应该如何获得一些 ...

  6. Linux用户管理简介

    Linux用户管理是Linux的优良特性之一,本文说明了Linux中用户的登录过程和登录用户的类型. 一.Linux用户登录过程 用户要使用Linux系统,必须先进行登录.Linux的登录过程和win ...

  7. Linux(3)- 用户管理、文件与目录权限、常用命令、Linux软件包管理

    一.用户管理 现代操作系统一般属于多用户的操作系统,也就是说,同一台机器可以为多个用户建立账户,一般这些用户都是为普通用户,这些普通用户能同时登录这台计算机,计算机对这些用户分配一定的资源. 普通用户 ...

  8. 用户和用户组以及 Linux 权限管理

    1.从 /etc/passwd 说起 前面的基本命令学习中,我们介绍了使用 passwd 命令可以修改用户密码.对于操作系统来说,用户名和密码是存放在哪里的呢?我们都知道一个站点的用户名和密码是存放在 ...

  9. Linux终端那件事儿

    我们将会讨论如何更好的控制用户终端:也就说是键盘输入与屏幕输出.除了这些,我们还会了解我们编写的程序如何由用户处读取输入,即使是在输入重定向的情况下,以及确保输出到屏幕的正确位置.这里所提供的一些底层 ...

  10. Linux进程管理工具Supervisor的安装配置

    目录 Linux进程管理工具Supervisor的安装配置 简介 安装Python包管理工具 安装Supervisor 配置 配置文件参数说明 配置进程管理 启动supervisor 控制进程 交互终 ...

随机推荐

  1. 第七章 LinkedBlockingQueue源码解析

    1.对于LinkedBlockingQueue需要掌握以下几点 创建 入队(添加元素) 出队(删除元素) 2.创建 Node节点内部类与LinkedBlockingQueue的一些属性 static ...

  2. w3cschool-Jenkins中文文档

    https://www.w3cschool.cn/jenkins/ Jenkins中文文档  阅读(1173.5k)收藏赞(54)分享 手册简介 Jenkins是一个开源的持续集成的服务器,Jenki ...

  3. Linux 开发环境常用配置

    记录下我个人 Linux 开发环境常用配置,后续可以简单写个小脚本可以把一系列安装配置操作自动化一把. zsh install & conf https://blog.csdn.net/amo ...

  4. react给当前元素添加一个类以及key的作用

    给当前元素添加一个类是通过className来处理的: 引入css;直接from XXXX import React, { Component } from "react"; // ...

  5. AI赋能软件测试:未来已来,你准备好了吗?

    ps:文末有福利领取哦 引言 在数字化转型的浪潮中,软件测试作为保障产品质量的关键环节,正面临着前所未有的挑战. 传统的测试方法已难以满足快速迭代和复杂场景的需求,而人工智能(AI)的引入,则为软件测 ...

  6. VLDB来啦!企业上云“搭子”天翼云TeleDB数据库有话说

    近日,VLDB 2024(International Conference on Very Large Data Bases)在广州隆重举行,全球数据库领域顶尖学者汇聚一堂,围绕数据库行业前沿议题展开 ...

  7. 天翼云云电脑:IAAS基础设施带来的计算革新

    本文分享自天翼云开发者社区<天翼云云电脑:IAAS基础设施带来的计算革新>,作者:不知不觉 在当今这个数字化快速发展的时代,云计算作为一种新兴的信息技术,已经逐渐成为企业和个人日常运营的重 ...

  8. [记录点滴] 使用工具和命令对redis数据进行备份恢复

    [记录点滴] 使用工具和命令对redis数据进行备份恢复 0x00 摘要 本文记录了如何使用工具对redis数据进行恢复备份,涉及的有Redis-Dump,MySQL,Redis管道命令. 0x01 ...

  9. Q:查看服务器内存和cpu占用排名

    pid 表示进程 ID,cmd 表示进程命令行,%mem 表示进程占用内存百分比,%cpu 表示进程占用 CPU 百分比,--sort=-%mem 表示按照内存占用率从高到低排序. 1.内存占比排序 ...

  10. GridControl 给选中的行添加边框显示

    实现方式,通过自定义 RowControl 的样式实现. 参考:https://supportcenter.devexpress.com/ticket/list?searchString=RowCel ...