Debian
gpg: error retrieving 'email' via WKD: No data
嘗試儲存 DockerHub 登錄的憑證時
我想使用
pass
憑證儲存進行 DockerHub 登錄。因此,主要關注這個連結
- 我安裝了
pass
(apt install pass
)- 我安裝了,但按照如何在此其他連結中設置憑據儲存
docker-credential-pass
下的說明 4 到 7- 我修改了
~/.docker/config.json
添加鍵值對的文件"credsStore": "pass"
- 因為我有一個 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