gpg 使用入门
1. 生成秘钥
gpg --full-generate-key
等价于 gpg --full-gen-key
Real name: yellowconvict
为该秘钥的名字,也称为 USER-ID
在生成秘钥前最后一步还需要为秘钥设置密码
2. 查看秘钥
2.1 查看公钥
gpg --list-key
2.2 查看私钥
gpg --list-secret-key
3. 导出秘钥
--armor
: 将其转换为ASCII码显示
3.1 导出公钥
gpg --armor --output 文件名 --export 用户ID
如:
gpg --armor --output yellowconvict.pub --export yellowconvict
3.2 导出私钥
gpg --armor --output 输出文件 --export-secret-keys 用户ID
如:
gpg --armor --output yellowconvict.pri --export-secret-keys yellowconvict
导出私钥时需要输入一开始秘钥的密码
4. 删除秘钥
必须先删除私钥,才能删除公钥
4.1 删除私钥
gpg --delete-secret-keys yellowconvict
4.2 删除公钥
gpg --delete-keys yellowconvict
5. 导入秘钥
导入公钥、私钥均使用gpg --import 公私钥文件名
5.1 导入私钥
gpg --import yellowconvict.pri
导入私钥时同样需要输入一开始秘钥的密码
5.2 导入公钥
gpg --import yellowconvict.pub
6. 加解密文件
6.1 使用公钥加密文件
gpg --recipient 用户ID --output 输出文件 --encrypt 原始文件
如:
gpg --recipient yellowconvict --output test.txt.en --encrypt test.txt
6.2 使用私钥解密文件
gpg --output 输出文件 --decrypt 已加密文件
如:
gpg --output test.txt.de --decrypt test.txt.en
第一次使用私钥解密需要输入秘钥的密码,之后就不需要输入了
查看解密后的文件,发现已经还原内容了
7. 其他
第一次生成秘钥时,可能出现卡住的问题,类似如下提示:
Not enough random bytes available. Please do some other work to give the OS a chance to collect more
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
解决方法:
不要退出当前终端,新建一个终端,并根据系统执行以下命令,命令执行完后,卡住的界面瞬间完成
Ubuntu:
$ sudo apt install rng-tools
$ rngd -r /dev/urandom
CentOS:
$ yum install rng-tools
$ rngd -r /dev/urandom