安装pass
sudo apt-get install pass
echo "source /etc/bash_completion.d/password-store" >> ~/.bashrc
生成密钥对
gpg --gen-key
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62gpg (GnuPG) 1.4.20; Copyright (C) 2015 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
gpg: 钥匙环‘/home/wayde/.gnupg/secring.gpg’已建立
gpg: 钥匙环‘/home/wayde/.gnupg/pubring.gpg’已建立
请选择您要使用的密钥种类:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (仅用于签名)
(4) RSA (仅用于签名)
您的选择?
RSA 密钥长度应在 1024 位与 4096 位之间。
您想要用多大的密钥尺寸?(2048)
您所要求的密钥尺寸是 2048 位
请设定这把密钥的有效期限。
0 = 密钥永不过期
<n> = 密钥在 n 天后过期
<n>w = 密钥在 n 周后过期
<n>m = 密钥在 n 月后过期
<n>y = 密钥在 n 年后过期
密钥的有效期限是?(0)
密钥永远不会过期
以上正确吗?(y/n) y
您需要一个用户标识来辨识您的密钥;本软件会用真实姓名、注释和电子邮件地址组合
成用户标识,如下所示:
“Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>”
真实姓名: Wayde
电子邮件地址: lynnheavn@126.com
注释:
您选定了这个用户标识:
“Wayde <lynnheavn@126.com>”
更改姓名(N)、注释(C)、电子邮件地址(E)或确定(O)/退出(Q)? o
您需要一个密码来保护您的私钥。
我们需要生成大量的随机字节。这个时候您可以多做些琐事(像是敲打键盘、移动
鼠标、读写硬盘之类的),这会让随机数字发生器有更好的机会获得足够的熵数。
.........+++++
..+++++
我们需要生成大量的随机字节。这个时候您可以多做些琐事(像是敲打键盘、移动
鼠标、读写硬盘之类的),这会让随机数字发生器有更好的机会获得足够的熵数。
随机字节不够多。请再做一些其他的琐事,以使操作系统能搜集到更多的熵!
(还需要57字节)
......
随机字节不够多。请再做一些其他的琐事,以使操作系统能搜集到更多的熵!
(还需要119字节)
......
/home/wayde/.gnupg/trustdb.gpg:建立了信任度数据库
gpg: 密钥 1613CE21 被标记为绝对信任
公钥和私钥已经生成并经签名。
gpg: 正在检查信任度数据库
gpg: 需要 3 份勉强信任和 1 份完全信任,PGP 信任模型
gpg: 深度:0 有效性: 1 已签名: 0 信任度:0-,0q,0n,0m,0f,1u
pub 2048R/1613CE21 2018-03-10
密钥指纹 = A2E6 2AED AABB 6CA3 A190 AABB 61DC 65E6 AABB CE21
uid Wayde <lynnheavn@126.com>
sub 2048R/9A9237B5 2018-03-10备份密钥对
查看密钥信息
gpg --list-keys
导出私钥
gpg --export-secret-keys --armor 1613CE21 > ~/Profile/pass_gpg_privkey.asc
导出公钥
gpg --export --armor 1613CE21 > ~/Profile/pass_gpg_pubkey.asc
导入密钥对
导入公钥
gpg --import ~/Profile/pass_gpg_privkey.asc
导入私钥
gpg --import ~/Profile/pass_gpg_pubkey.asc
初始化
pass init 1613CE21
pass git init
pass git remote add origin pass-repository-url
添加记录
pass insert test/wayde
多行添加
pass insert email -m
密码显示在屏幕
pass test/wayde
密码复制到剪贴板(45s后自动清空)
pass -c test/wayde
删除记录
pass rm test/wayde
生成并存储新密码
eg. 生成一个具有10个字符不带符号的密码,并将它存储到 “email/new_service.com”列表中
pass generate email/new_service.com 10 -n
eg. 生成一个由 15 个字符组成的密码:包含字母,数字和特殊符号
pass generate mysite 15
–no-symbols 只包含字母和数字
–clip or -c 密码直接拷贝到剪切板
–qrcode or -q 生成二维码
同时支持
pass mv | cp | rm
新机器同步pass
- 导入密钥对
- 安装pass
git clone pass-repository-url .password-store/
pass
即可查看
遇到问题:
gpg: decryption failed: No secret key
1
2
3
4
5gpg --export [ID] | gpg2 --import
gpg --export-secret-keys [ID] | gpg2 --import
gpg --export $(cat ~/.password-store/.gpg-id) | gpg2 --import
gpg --export-secret-keys $(cat ~/.password-store/.gpg-id) | gpg2 --import1
2
3
4
5
6
7直接用gpg解密(成功)
gpg -d .password-store/Soft/tplink-ID.gpg
直接用gpg2解密(失败)
gpg2 -d .password-store/Soft/tplink-ID.gpg
gpg: public key decryption failed: Permission denied
gpg: decryption failed: No secret keyps: 尚未解决
参考资料:
gpg: 9A9237B5:没有证据表明这把密钥真的属于它所声称的持有者
gpg: /dev/shm/pass.sZAxIBItx71YV/6uwLt-Shopping-Amazon.txt: encryption failed: 不可用公钥
GPG encryption failed. Would you like to try again? [y/N]1
2
3
4
5gpg --list-keys
gpg --edit-key 1613CE21
trust
5 (设置成绝对信任)
quit
参考资料:
使用 pass 密码管理器管理你的密码
如何在Linux上使用命令行管理密码
pass: 以 Unix 之道来管理密码
GPG入门教程
Using password-store with git repository synchingGnuPG (简体中文))