Debian

gpg: error retrieving 'email' via WKD: No data 嘗試儲存 DockerHub 登錄的憑證時

  • November 6, 2021

我想使用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的旁邊的行中),並且我經常使用它來加密和解密一些文件,再次遵循第二個連結或第 2 點在這一項中,我做到了。我得到了uid``[ultimate] MY_NAME <MY_EMAIL>``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: error retrieving ‘me@example.com’ via 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而不是從和 linepass init MY_EMAIL獲取 ID ,遇到諸如here之類的問題,但那裡給出的解決方案也不起作用。gpg2 --list-secret-keys --keyid-format=long``sec rsa3072/ID date ...

提前致謝!

解決了!

問題是“我的”舊 GPG ID 屬於我的root使用者,所以我需要用我的非 root 使用者生成一個密鑰user

引用自:https://unix.stackexchange.com/questions/676444