“gpg:通过 WKD 检索“电子邮件”时出错:无数据”尝试 DockerHub 登录的凭据存储时

“gpg:通过 WKD 检索“电子邮件”时出错:无数据”尝试 DockerHub 登录的凭据存储时

我想使用pass凭证存储进行 DockerHub 登录。因此,主要以下这个链接

  1. 我安装了pass( apt install pass)
  2. 我安装了docker-credential-pass,但是按照下面的说明 4 到 7如何设置凭证存储这个其他链接
  3. 我修改了~/.docker/config.json文件添加键值对"credsStore": "pass"
  4. 由于我有一个 GPG ID,我可以通过指令gpg --list-secret-keys或也可以看到它(在我看到的gpg -K旁边的行中),并且我经常使用它来加密和解密一些文件,再次关注uid[ultimate] MY_NAME <MY_EMAIL>第二个链接或者也是第 2 点这个,我做到了pass init MY_EMAIL。我在这里得到了
mkdir: created directory '/home/user/.password-store/'
Password store initialized for MY_EMAIL

所以,似乎一切都很顺利,直到这里,但是当我尝试docker login或者pass insert docker-credential-helpers/docker-pass-initialized-check我得到

gpg: error retrieving 'MY_EMAIL' via WKD: No data
gpg: MY_EMAIL: skipped: No data
gpg: [stdin]: encryption failed: No data
Password encryption aborted.

不过,正如我之前所说,我经常使用,gpg --output out_file.gpg --encrypt --recipient MY_EMAIL input_file没有任何问题。

进一步地,解决方案为gpg:检索错误'[电子邮件受保护]' 通过 WKD似乎不适合我的问题,因为当我使用上面提到的命令查找密钥时gpg,我可以看到expires: 2023-07-20].

那么,现在的问题是什么?我能做什么?我在 Debian 11 上工作。

也许这个问题与下一个索赔有关https://github.com/docker/docker-credential-helpers

`pass` needs to be configured for `docker-credential-pass` to work properly. It must be initialized with a `gpg2` key ID. Make sure your GPG key exists is in `gpg2` keyring as `pass` uses `gpg2` instead of the regular `gpg`.

如果这是问题我该怎么办?

我也尝试过这样做,pass init ID而不是从线路pass init MY_EMAIL中获取ID ,而是遇到了诸如gpg2 --list-secret-keys --keyid-format=longsec rsa3072/ID date ...这里,但是那里给出的解决方案也不起作用。

提前致谢!

答案1

解决了!

问题是“我的”旧 GPG ID 属于我的root用户,所以我需要用我的非 root 生成一个密钥user

相关内容