在网上冲浪难免会出现密码保存的问题,现在出现了很多密码管理器,来解决密码管理的问题。
有一些密码管理器确实很不错,不过这些密码管理器都是将你的个人密码存储在别人的服务器上,有的密码管理器要收钱,还有被黑的风险,不能做到100%的安全。
这里我来给浪友们提供一种简单并且安全的密码管理方式,使用一个叫 passwod-store
或者叫 pass
的工具。 不过 pass
并不适合所有人,他需要一些理解和使用命令行的能力去使用。
作为一个Unix系统工具,你首先需要基于Unix的操作系统来使用它,这包括各种Linux发行版,Mac OS或者FreeBSD。
当你安装了 pass
之后,你需要一些加密的基本知识去使用这个安全的密码管理工具,不过这很简单。pass
使用 gpg 来加密密码,所以我们需要生成一对密钥来使用它,这样子它给了我们关于我们自己密码的控制权,但它也让你自己去对你自己的密钥负责,所以你得保管好你自己的密钥,把它备份在安全的地方。
创建一个加密密码存储仓库
你可以使用以下命令去生成一对密钥:
gpg --gen-key
它会提示让你输入一些身份信息,使用编造的信息填进去就行,没必要是真实的信息。在那之后它会要求你输入一个密码,这个密码是你密钥的主密码,这里你就要确保这个密码是只有你知道的密码,不要把它写在纸上或者记在任何软件里。
创建完之后gpg会显示一个确认信息,这包含了一串刚生成的密钥的ID。
这串ID很重要,要先记录下来以后会用到,图中的ID为
6B1DBAED11415E6729BB7FCB8F8C55A49DA5C9F7
。不过就算找不到了也没关系,使用以下命令就能将你得密钥重新显示:
gpg -K
虽然生成出来的密钥又一个过期日期,不过不需要担心,这个过期日期也是可以修改的:
gpg --edit-key 6B1DBAED11415E6729BB7FCB8F8C55A49DA5C9F7
这会打开一个gpg的修改密钥的工具,只要如下图输入命令就能把密钥改成永不过期:
- 输入
expire
设定此密钥的过期日期 - 选择
0
将密钥设为永不过期 - 输入
y
来确认选择 - 输入
save
保存修改
现在使用以下命令就可以创建一个新的加密密码存储了:
pass init 6B1DBAED11415E6729BB7FCB8F8C55A49DA5C9F7
创建完成之后使用 以下命令可以将创建好的加密密码存储文件夹变为 Git
仓库, 以此来使用git的功能来管理你的密码存储:
pass git init
使用密码存储管理器
现在就可以正式开始使用这个密码管理器了,输入以下命令就可以保存你的现有密码了,比如说我要保存 chonglangtv.org
的密码,只需输入以下命令然后输入密码即可保存:
pass insert chonglangtv.org
如果想让它生成一个安全地密码给你,就使用它的生成指令:
pass generate chonglangtv.org
这样就可以给你生成并保存一个非常安全的密码。
由于现在使用了git去管理密码,并且pass是基于文件来存储的,可以使用基于文件路径的方法去保存密码,比方说如果你有同一个网站的好几个账号,你可以用
pass generate chonglangtv.org/user1
pass generate chonglangtv.org/user2
来保存多个不同的用户,这些用户密码文件都会储存在 chonglangtv.org/
文件夹里。这样一来用pass的寻找功能就更方便了,只要输入
pass find chonglangtv.org
就能出现所有包含该关键词的所有密码文件
如果你只输入了
pass
那就会显示你目前保存的所有密码。
不过切记不要使用用户名,邮箱或者密码作为你的密码文件名称,因为虽然文件本身是加密的,但是文件名称还是会以明文显示的,并且如果你将这个密码仓库上传到GitHub之类的地方,则会有泄露你用户名和密码的风险。不过pass有给密码文件添加辅助信息的功能
pass edit chonglangtv.org/user1
这会将此密码文件打开,只需要如图添加新一行来填写邮箱/用户名即可,而且你填写的任何信息也都会是加密的。
如果你忘记了你命名了你的密码文件是什么从而找不到你把密码存在哪里的话,使用
pass grep "[email protected]"
就能帮你列举出所有包含你所搜索的字符的文件
如果想要查看密码,直接使用
# 直接显示密码
pass show chonglangtv.org/user1
# 使用 -c 将文件第一行(即密码)复制到粘贴板上
pass show -c chonglangtv.org/user2