在Linux终端管理你的密码!

简介: 在Linux终端管理你的密码!

大家好,我是良许。现在是互联网时代,我们每天都要跟各种 APP 、网站打交道,而这些东西基本上都需要注册才可以使用。但是账号一多,我们自己都经常记不清对应的密码了。有些小伙伴就一把梭,所有的账号密码都是一样。但这样操作的风险显而易见,一旦密码泄露,你所有的账号都会陷入风险之中!在浏览器上,我们有 1Password、Dashlane、RoboForm,等等非常优秀的密码管理软件,但缺点是基本上都需要收费(不,这是我的缺点)~微信图片_20220420101645.jpg

本文介绍一款在 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 插件,然后一键安装即可。微信图片_20220420101648.jpg安装完插件之后,关闭并重新启动浏览器。然后,我们再打开一个你存储过密码对应的站点,你会发现登录文本字段右侧有一个小 P 图标。微信图片_20220420101651.jpg

单击 P 按钮可查看密码仓库中匹配的站点名称列表。微信图片_20220420101654.jpg

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

目录
相关文章
|
2月前
|
监控 安全 Linux
在Linux中设定账户密码的安全性策略
这些操作应该由有经验的系统管理员进行,因为不当的配置可能导致无法预期的安全问题或者系统访问问题。此外,提升安全性的同时,也需要考虑到用户的便利性,避免设置过于严苛的政策导致用户体验不佳。通常,强密码策略配合两因素认证(2FA)将大大加强账户的安全性。
164 13
|
3月前
|
运维 Ubuntu Linux
Linux重置root用户密码
本文详细介绍了Linux系统中root密码重置的核心技能,涵盖主流发行版如RHEL、CentOS、Debian、Ubuntu、Arch、openSUSE等的实操方法。内容包括通过GRUB引导编辑、单用户模式和Live CD救援三种方式重置密码的具体步骤,适配物理机、虚拟机及云服务器环境。文章分步解析了启动拦截、权限获取和密码重置三大阶段,并提供各发行版的实际操作代码示例,帮助管理员快速解决忘记root密码的问题。
|
4月前
|
Linux 网络安全 iOS开发
SecureCRT & SecureFX 9.6.3 for macOS, Linux, Windows - 跨平台的多协议终端仿真和文件传输
SecureCRT & SecureFX 9.6.3 for macOS, Linux, Windows - 跨平台的多协议终端仿真和文件传输
1181 4
SecureCRT & SecureFX 9.6.3 for macOS, Linux, Windows - 跨平台的多协议终端仿真和文件传输
|
6月前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
1196 77
|
7月前
|
安全 Linux 数据安全/隐私保护
linux root登陆,密码正确但,错误提示su: Authentication failure
通过系统化的排查和解决方案,可以有效应对 `su: Authentication failure` 问题,确保系统安全和用户权限的正确管理。
3146 36
|
11月前
|
安全 Linux 数据安全/隐私保护
Linux 忘记密码解决方法
Linux 忘记密码解决方法
164 2
Linux 忘记密码解决方法
|
11月前
|
Linux Shell 数据安全/隐私保护
Linux如何在服务器上进行密码的修改?
【10月更文挑战第6天】Linux如何在服务器上进行密码的修改?
1849 1
|
11月前
|
运维 Java Linux
Linux 下命令后台运行秘籍:无惧终端断开的魔法
本文详细介绍了在 Linux 系统下使命令不受终端断开影响、持续在后台运行的多种方法及其原理。包括使用 `nohup`、`setsid`、括号括起来、作业调度和 `screen` 等技巧,帮助读者提高工作效率,确保任务不被意外中断。
328 0
Linux 下命令后台运行秘籍:无惧终端断开的魔法
|
11月前
|
Linux 数据安全/隐私保护 索引
linux inode索引节点使用率100% 解决+hustoj忘记密码+最新MDK注册方法
linux inode索引节点使用率100% 解决+hustoj忘记密码+最新MDK注册方法
134 1
|
11月前
|
Ubuntu Linux Shell
Linux系统密码忘记
【10月更文挑战第2天】在Linux系统中,若忘记密码,可以通过单用户模式或使用Live CD/USB来重置。对于Ubuntu系统,可通过GRUB引导菜单进入单用户模式,利用命令行重置密码;或使用Live CD/USB启动并挂载硬盘分区后修改密码文件。CentOS系统同样支持单用户模式重置密码,也可借助安装介质进入救援模式,挂载文件系统后进行密码重置。这些方法均能在忘记密码的情况下帮助恢复系统访问。
410 3