Estou tentando copiar minha chave gpg de uma máquina para outra.
Eu faço:
gpg --export ${ID} > public.key
gpg --export-secret-key ${ID} > private.key
Mova os arquivos para a nova máquina e, em seguida:
gpg --import public.key
gpg: nyckel [ID]: public key [Name, e-mail] was imported
gpg: Total number of treated keys: 1
gpg: imported: 1 (RSA: 1)
gpg --allow-secret-key-import private.key
sec [?]/[ID] [Creation date] [Name, e-mail]
ssb [?]/[SUB-ID] [Creation date]
Tudo parece bom para mim, mas depois:
$ gpg -d [file].gpg
gpg: encrypted with 4096-bit RSA-key, id [SUB-ID], created [Creation date]
[Name, e-mail]
gpg: decryption failed: secret key not accessible
Portanto, a mensagem de erro informa que o arquivo foi criptografado com [SUB-ID], que a importação da chave secreta parece indicar que foi importada. (O [SUB-ID] nas duas mensagens é o mesmo).
Então, estou claramente fazendo algo errado, mas não sei o quê.
gpg2 -e -r [ID]
diz "Não há garantia de que essa chave pertence ao usuário nomeado"? Eu gostaria de incluí-lo na pergunta original, mas só o notei mais tarde.Acima é apenas uma resposta parcial. A resposta completa é:
Dado o KEYID (por exemplo
FA0339620046E260
) da saída:OU use o comando automatizado abaixo:
Por fim, verifique se a chave agora é confiável em
[ultimate]
vez de[unknown]
fonte
Eu estava importando de um backup que tinha uma versão antiga do gpg. Como o computador antigo não estava disponível, apenas o backup, não pude exportá-lo primeiro. Isto é o que funcionou para mim.
Se você deseja importar chaves secretas sem inserir a senha imediatamente, use a
--batch
opçãoPara verificar as chaves públicas:
Para verificar as chaves secretas:
fonte