GPG 全称 GNU Privacy Guard,也常被称为 GnuPG。它是一款开源免费的密码学软件,主要用于:
由于近期部署了密码管理器 Vaultwarden,需要对其数据进行加密备份,所以选择了 GPG。
安装 GPG
创建/备份 GPG 公钥私钥
- 创建公钥私钥,按照提示进行操作,并 记住后面要求输入的秘密:
- 导出公钥:
1
| gpg -a --export > some1-public-key.asc
|
- 导出私钥:
1
| gpg -a --export-secret-keys > some1-private-key.asc
|
- 导出信任库:
1
| gpg --export-ownertrust > some1-owner-trust.txt
|
步骤 2~4 可一键操作:gpg --output some1-backup-keys.pgp --armor --export-secret-keys --export-options export-backup some1@your.mail
还原备份
- 导入公钥私钥:
- 导入后验证公钥指纹,确保未被篡改防止中间人攻击:
1
| gpg --fingerprint <key_id_or_email>
|
- 设置公钥的信任级别(Owner Trust)。导入公钥后,GPG 默认对它的信任级别为“未知”,需要手动设置对该公钥所有者的信任级别,以便 GPG 能够正确地在信任网络中评估其签名的有效性:
1 2
| gpg --edit-key <key_id_or_email>
|
接着在交互式界面中输入:trust
,并选择信任级别。
额外操作
- 将公钥文件内的内容编码为 base64,这是在备份 Vaultwarden 数据时所需要的公钥格式:
1
| base64 ./some1-public-key.asc > some1-public-key-base64.txt
|
使用 GPG 加解密
- 使用公钥 ID 或者邮箱加密文件,如plain.txt:
1
| gpg --output encrypt.gpg --encrypt --recipient some1@your.mail plain.txt
|
1
| gpg --batch --no-options --no-tty --yes --recipient-file ./some1-public-key.asc -o encrypted.txt.gpg --encrypt plain.txt
|
1
| gpg -o decrypt.md --decrypt encrypted.md.gpg
|
解压 .tar.xz
文件:tar -xJf some.tar.xz