生成 gpg 密钥时“没有这样的文件或目录”

生成 gpg 密钥时“没有这样的文件或目录”

我正在尝试生成 gpg 密钥

$ gpg --full-gen-key

但最终我得到一个错误

gpg: agent_genkey failed: No such file or directory
Key generation failed: No such file or directory

我在 Arch Linux 上。

$ gpg --version
gpg (GnuPG) 2.1.15
libgcrypt 1.7.3
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: /home/me123/.gnupg
.............

目录 /home/me123/.gnupg 存在

答案1

您是否删除了 /home/me123/.gnupg 目录,然后由 gpg 重新创建了它?如果是这样,这可能就是让代理感到困惑的原因。

重新启动代理 ( gpgconf --kill gpg-agent),或者更彻底地重新启动计算机并重试。

答案2

看起来目录 ~/.gnupg/private-keys-v1.d (在某些情况下)没有被创建,或者是使用错误的权限创建的。

# mkdir -p ~/.gnupg/private-keys-v1.d
# chmod 700 ~/.gnupg/private-keys-v1.d

为我修好了。

答案3

只是想添加到这个旧线程中,以防有人来这里寻找答案,我在 macOS (Big Sur 11.2) 上遇到了类似的问题。删除.gnupg目录后,我遇到了与OP相同的错误。该~/.gnupg/private-keys-v1.d目录由 GnuPG 重新创建并具有正确的权限。而且,杀戮gpg-agent还不够。

我注意到.gnupg目录中有一个奇怪的文件,名为.#k0x0000000130605a20.MBP-van-##REDACTED##.52431.当我删除该文件后,GnuPG 又恢复了魅力!

答案4

将这一行添加到.zshrc我的工作中:

export GPG_TTY=$(tty)

相关内容