安装
代码语言:javascript复制apt-get install gnupg2
生成密钥对
代码语言:javascript复制gpg2 --full-generate-key
# 然后,按提示填写即可
gpg2 --list-keys
# 输出
pub rsa2048 2020-01-02 [SC]
6CFAA44AC11E041B0181988352FC3xxxxC39FF406
uid [ 绝对 ] haha <haha@126.com>
sub rsa2048 2020-01-02 [E]
注意,这个haha@126.com
就是用户ID
6CFAA44AC11E041B0181988352FC3xxxxC39FF406 是用户标识
导出公钥
代码语言:javascript复制gpg2 --armor --output ~/public-key.txt --export haha@126.com
此时在~目录下,会出现你的公钥
导出私钥
代码语言:javascript复制gpg2 --armor --output ~/private-key.txt --export-secret-keys haha@126.com
把公钥上传到服务器
代码语言:javascript复制# 6CFAA44AC11E041B0181988352FC3xxxxC39FF406 是用户标识,在--list-keys可以查看到
gpg2 --keyserver hkp://keyserver.ubuntu.com --send-keys 6CFAA44AC11E041B0181988352FC3xxxxC39FF406
此时,你可以搜索到你的公钥
代码语言:javascript复制gpg2 --keyserver hkp://keyserver.ubuntu.com --search-keys "haha@126.com"
这里截个图:
下载公钥
代码语言:javascript复制# 首先搜索 haha@126.com,弄清id,然后
gpg2 --keyserver keyserver.ubuntu.com --recv 52FC3B13C39Fxxx6
此时:
代码语言:javascript复制gpg2 --list-keys
/root/.gnupg/pubring.kbx
------------------------
pub rsa2048 2020-01-02 [SC]
6CFAA44AC11E041B01819883xxxxxxx9FF406
uid [ unknown] xxxxx <xxxxxxxx@126.com>
sub rsa2048 2020-01-02 [E]
可以发现公钥。
加密
代码语言:javascript复制gpg2 --recipient xxxxx@126.com --output test2.txt --encrypt test.txt
导入了公钥后,就可以用公钥加密。test.txt为源文件,test2.txt为加密后的文件
解密
将加密后的文件发给拥有私钥的一方。
代码语言:javascript复制gpg --recipient xxxx@126.com --output testde.txt --decrypt ./test2.txt
此时,会要求你输入创建密钥对时的保护密码,输入密码后,testde.txt文件生成。