Quero usar o pass
armazenamento de credenciais para login do DockerHub. Portanto, seguindo principalmente este link
- eu instalei
pass
(apt install pass
) - Instalei
docker-credential-pass
, mas seguindo as instruções 4 a 7 em Como configurar o armazenamento de credenciais neste outro link - Modifiquei o
~/.docker/config.json
arquivo adicionando o par chave-valor"credsStore": "pass"
- Como tenho um GPG ID, que posso ver por meio da instrução
gpg --list-secret-keys
ou tambémgpg -K
(na linha ao lado deuid
vejo[ultimate] MY_NAME <MY_EMAIL>
), e que uso frequentemente para criptografar e descriptografar alguns arquivos, seguindo novamente o segundo link ou também o ponto 2 neste , eu fizpass init MY_EMAIL
. Aqui eu tenho
mkdir: created directory '/home/user/.password-store/'
Password store initialized for MY_EMAIL
Então, parece que tudo dá certo até aqui, mas aí, quando eu tento docker login
ou pass insert docker-credential-helpers/docker-pass-initialized-check
fico
gpg: error retrieving 'MY_EMAIL' via WKD: No data
gpg: MY_EMAIL: skipped: No data
gpg: [stdin]: encryption failed: No data
Password encryption aborted.
No entanto, como eu disse antes, eu uso com frequência gpg --output out_file.gpg --encrypt --recipient MY_EMAIL input_file
sem nenhum problema.
Além disso, a solução em gpg: error retrieving '[email protected]' via WKD não parece adequada ao meu problema, pois quando procuro minha chave com os gpg
comandos mencionados acima, posso ver expires: 2023-07-20]
.
Então, qual é agora o problema e o que posso fazer? Eu trabalho no Debian 11.
Talvez o problema esteja relacionado à próxima reivindicação em 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`.
O que devo fazer se este for o problema?
Eu também tentei fazer pass init ID
em vez de pass init MY_EMAIL
obter o ID gpg2 --list-secret-keys --keyid-format=long
e a linha sec rsa3072/ID date ...
, obtendo um problema como aqui , mas as soluções fornecidas também não funcionam.
Desde já, obrigado!
Resolvido!
O problema era que "meu" ID GPG antigo pertencia ao meu
root
usuário, então eu precisava gerar uma chave com meu não rootuser