HA

使用gpg加密文件

Tags:

生成gpg密钥

gpg --gen-key
# 需要输入姓名和邮箱,之后还需要输入passphase(需要记下来,解密的时候要用)

导出私钥(私钥和passphase要保管好)

gpg --armor --export-secret-key  --output secret.asc B54A68A0F2AB41B5B9DED944ECE08FA2
# 导入私钥
gpg --import secret.asc

导出公钥

gpg --armor --output mypubkey.gpg --export [email protected]
# 复制公钥内容
# cat mypubkey.gpg | clip

导入公钥(假设加密另一个机器上的文件,发送给自己)

echo '-----BEGIN PGP PUBLIC KEY BLOCK-----
...
-----END PGP PUBLIC KEY BLOCK-----
' > mypubkey.gpg
gpg --import mypubkey.gpg

加密文件

gpg --output myfile.txt.gpg --encrypt --recipient [email protected]  myfile.txt
# 完成后可以通过https://www.file.io/之类的网站共享文件

解密文件

gpg --output myfile.txt --decrypt myfile.txt.gpg
# 需要输入passphase

上传公钥到公共服务器

gpg --list-secret-keys
# sec   rsa3072 2023-05-13 [SC] [expires: 2025-05-12]
#       B54A68A0F2AB41B5B9DED944ECE08FA2
# 找到sec部分里的一串代码
gpg --send-keys B54A68A0F2AB41B5B9DED944ECE08FA2

导入公共服务器中的公钥

gpg --recv-keys B54A68A0F2AB41B5B9DED944ECE08FA2

搜索公共服务器

# 默认https://keys.openpgp.org,可修改
gpg --search-key [email protected]
gpg --keyserver keys.gnupg.net --search-key [email protected]

删除本地公钥和私钥

# 删除公钥
gpg --delete-keys tom
# 删除公钥
gpg --delete-secret-keys tom