我无法在 gnupg 中获取密钥-找不到文件

我无法在 gnupg 中获取密钥-找不到文件

为了让软件正常工作,我需要获取密钥。我先以用户身份尝试,然后以 root 身份尝试,但无效。使用 Synaptic 检查了 gnupg 的所有软件是否都存在,没有发现任何缺失。我使用 Kubuntu 22.04 构建了新系统。有人可以提示在哪里搜索解决方案吗?

root@BeQuiet-Lin:~# sudo gpg --no-default-keyring --keyring /etc/apt/keyrings/ckvsoft-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 410EE8C739BB4452
gpg: failed to create temporary file '/root/.gnupg/.#lk0x0000564c33fcee80.BeQuiet-Lin.58324': No such file or directory
gpg: connecting dirmngr at '/root/.gnupg/S.dirmngr' failed: No such file or directory
gpg: keyserver receive failed: No dirmngr

答案1

那个错误:

gpg: failed to create temporary file '/root/.gnupg/.#lk0x0000564c33fcee80.BeQuiet-Lin.58324': No such file or directory
gpg: connecting dirmngr at '/root/.gnupg/S.dirmngr' failed: No such file or directory
gpg: keyserver receive failed: No dirmngr

...是因为gpg需要在定义的配置目录下创建一些临时文件...默认情况下.gnupg在环境变量中存在的用户主目录下HOME,并且在带有的情况下sudo将解析为/root

但是,该目录/root/.gnupg不存在。

HOME...因此,您可以在命令行上将变量设置为当前用户的主目录,HOME="$HOME"如下所示:

sudo HOME="$HOME" gpg --no-default-keyring --keyring /etc/apt/keyrings/ckvsoft-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 410EE8C739BB4452

...或者使用gpg's 选项--homedir指向你的用户当前,"$HOME"像这样:

sudo gpg --homedir "$HOME" --no-default-keyring --keyring /etc/apt/keyrings/ckvsoft-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 410EE8C739BB4452

相关内容