GPG 命令简明教程#
基本操作#
1、列出系统中已有的密钥
gpg --list-keys
2、导入密钥
gpg --import filepath
3、加密
gpg -r TOM\&JERR [-r JACK] -o testgpg.en.txt -e testgpg.txt
4、解密,注意 输出必须在前面
gpg -o tt.txt -d testgpg.en.txt
5、签名 gpg二进制格式
gpg -r TOM\&JERRY --sign testgpg.txt
6、签名 文本 asc格式
gpg --clearsign testgpg.txt
7、生成单独的签名文件
gpg --detach-sign testgpg.txt
8、生成单独的文本签名文件
gpg --armor --detach-sign testgpg.txt
9、验证
gpg --verify testgpg.txt.gpg
10、签名+加密
gpg -u TOM\&JERRY -r TOM\&JERRY --armor --sign --encrypt testgpg.txt
11、验证签名
gpg --verify testgpg.txt.sig
12、从加密文件中读取原始文件信息
gpg --list-packets oo
高阶应用#
13、设置默认key
方法1
#uid特殊符号需转义
gpg --default-key uid [other options]
方法2
vi /.gnupg/gpg.conf
#uid特殊符号不必转义
default-key uid
14、编辑密钥
进入修改模式
使用默认密钥进行签名
gpg --edit-key friend_pub_key
15、查看
gpg -u jack --edit-key abc@abc.com
gpg (GnuPG) 2.4.4; Copyright (C) 2024 g10 Code GmbH
pub ed25519/18********A76
创建于:2025-10-19 有效至:永不 可用于:SC
信任度:未知 有效性:未知
sub cv25519/C7********C9
创建于:2025-10-19 有效至:永不 可用于:E
[ 未知 ] (1). abc < abc@abc.com>
gpg> list
pub ed25519/18********A76
创建于:2025-10-19 有效至:永不 可用于:SC
信任度:未知 有效性:未知
sub cv25519/C7********C9
创建于:2025-10-19 有效至:永不 可用于:E
[ 未知 ] (1). abc < abc@abc.com>
[ 未知 ] (1). abc < abc@abc.com>
这里显示的未知,当使用朋友的公钥时会有下面提示
gpg: C7********C9:不保证这个密钥属于其声称的所有者
sub cv25519/C7********C9 2025-10-19 abc <abc@abc.com>
主密钥指纹: 85********76
子密钥指纹: 59***********C9
这个密钥并不一定属于其用户标识中声称的那个人。如果您真的
知道自己在做什么,您可以在下一个问题回答 yes。
无论如何都要使用这个密钥吗?(y/N)
使用Ubuntu的“密码和密钥”查看,注意红线圈出位置
16、添加信任
> trust
按照提示操作即可,此时信任度会变成所选,但是有效性仍是未知,可以通过tsign
进行签名。如果用tsign
,上面的trust
可以省略
> sign/lsign/tsign
按照提示操作即可
操作完,不要忘了用 save 命令保存修改
执行后上图红线圈出位置将变化,和图形界面中点击“签署密钥”功能一致。
17、指定密钥进行编辑
使用 -u 参数
gpg -u mykeyuid --edit-key friend_pub_key
18、吊销签名
> revsig 吊销所选用户标识上的签名
19、清理
> clean
> minimize
此时,签名虽然吊销,但是仍然可以看到,可以清理无效的签名,clean
minimize
,帮助中看不出二者区别,但实际上,执行后虽然都提示
用户标识 abc <abc@abc.com>:1 个签名被移除
,但是clean
后,签名仍然存在,不知道是不是bug。
20、delsig
delsig
帮助信息是:从所选用户标识上删除签名,但实际是“删除朋友公钥 自己 的签名”。执行时提示:
> delsig
您必须选择至少一个用户标识。
(使用‘uid’ 命令。)
令人困惑,摸索了好久才找到操作方法。还记得前面查看密钥时[ 未知 ] (1). abc < abc@abc.com> uid
前面的(1)吗,原来是操作序号,选中后,后面会多一个*
。
gpg> uid 1
pub ed25519/18********A76
创建于:2025-10-19 有效至:永不 可用于:SC
信任度:未定义 有效性:未知
sub cv25519/C7********C9
创建于:2025-10-19 有效至:永不 可用于:E
[ 未知 ] (1)* abc < abc@abc.com>
gpg> delsig
uid abc < abc@abc.com>
sig!3 18********A76 2025-10-19 [自签名]
执行后公钥不能再用来签名、加密等操作