我想在创建 gpg 密钥后删除其密码。为什么? 因为 tigase-kontalk 文档是这么说的我想编译并设置我自己版本的服务器。但我目前卡在了这里
创建 GPG 密钥创建用于签名和加密的 GPG 密钥,并在创建后删除其密码
我想要一个 linux gpg 命令来删除密码或导出不受保护的密钥。
答案1
以下是基于 Justin 的更完整的答案:
(在 Ubuntu 14 上使用 gpg 1.4.16)
- 像这样获取密钥的 ID:
gpg --list-secret-keys --keyid-format=long
这将输出类似下面的几行。密钥 ID 是值 XXXX
/home/username/.gnupg/secring.gpg
----------------------------------
sec 4096R/XXXX <creation date>
uid name <email.address>
ssb 4096R/YYYY <creation date>
像这样打开 gpg 密钥编辑子菜单:
gpg --edit-key XXXX
您将看到有关该密钥的信息。
在提示符下输入
passwd
以更改密码:gpg> passwd
输入您现有的密码。
输入此密钥的新密码。(留空并按 Enter)
按Enter两次并在继续之前考虑该工具的警告及其含义。
You don't want a passphrase - this is probably a *bad* idea!
Do you really want to do this? (y/N) y
同样在 Debian 11 上:
答案2
让我分享一下我的发现。我想我可以分享一下,以防在 bash shell 中又有迷失的灵魂,
gpg2 --batch --gen-key <<EOF
%no-protection
Key-Type:1
Key-Length:2048
Subkey-Type:1
Subkey-Length:2048
Name-Real: My super name
Name-Email: [email protected]
Expire-Date:0
EOF
现在可以导出密钥
gpg2 --export-secret-key fingerprinthere > private-key.key
gpg2 --export fingerprintshuld_be_put_here > public-key.key
答案3
很简单,只要运行:
gpg --edit-key <yourkeyhere>
passwd
当 GnuPG 提示输入新密码时,只需将其留空并按回车键。
来源:https://lists.gnupg.org/pipermail/gnupg-users/2003-April/017623.html
答案4
看https://unix.stackexchange.com/a/597949/20960。似乎有些类型的 pinentry 拒绝接受空密码,而其他类型的 pinentry 则对此没有异议。
gpg --pinentry-mode loopback --passwd KEY