我正在尝试生成 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)