Acabei de restaurar meus dados de um repositório de backup borg após uma falha no computador.
Minha ~/.gnupg
pasta parece boa, as chaves privadas estão lá e as permissões parecem corretas. Normalmente Borg faz um bom trabalho nisso. Quando eu acesso cat
os arquivos de chaves privadas, não há sinal de corrupção de dados.
No entanto, não posso listar ou usar as chaves privadas. Só consigo interagir com uma chave pública que foi importada pacman
durante o processo de instalação.
Me deparei com alguns posts com problemas semelhantes de chaves privadas não reconhecidas após serem copiadas de uma máquina para outra, e geralmente o problema é resolvido seguindo recomendações de repetir a transferência usando gpg —export-key
e depois importá-las com o comando oposto.
Infelizmente não tenho esse luxo, pois minha máquina antiga travou e não pode ser recuperada. Eu estava ciente da importação e exportação de chaves, mas sempre presumi que era apenas um procedimento seguro mover chaves.
Então eu tenho duas perguntas:
Preciso revisar meus scripts de backup e usar o comando de exportação para minhas chaves secretas gpg?
Mesmo assim, posso recuperar minhas chaves secretas?
======= Editar ======
Encontrei uma postagem no fórum do arch com um usuário tendo exatamente o mesmo problema que eu, então consegui mais pistas para seguir.
O que eu tentei até agora:
gpg --version
> gpg (GnuPG) 2.4.5
ps aux | grep gpg-a
> /usr/bin/gpg-agent --supervised
#About ownership:
chown -R $USER:$USER .gnupg
# Checking UID/GID with show a result of `1000` both on filesystem # # and backup archive.
ls -vn .gnupg/private-keys-v1.d
gpg --export-secret-keys
> gpg: WARNING: nothing exported
gpg -v --list-secret-keys
> gpg: enabled compatibility flags:
> gpg: using pgp trust model
# Most relevant results of:
strace -f -o /tmp/gpg.strace gpg --list-secret-keys
cat /tmp/gpg.strace
> 76220 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
> 76220 access("/home/$USER/.gnupg/secring.gpg", F_OK) = -1 ENOENT (No such file or directory)
# Listing public keys
gpg --list-keys
> Returns one public key imported by pacman during install
gpg -K
> Returns nothing
ls -ln .gnupg/
.rw-r----- 12 1000 13 Mar 10:45 common.conf
drwx------ - 1000 6 Sep 2023 crls.d
.rw------- 2.0k 1000 13 Sep 2023 gpg-agent.conf
.rw------- 703 1000 5 Mar 18:48 gpg.conf
drwx------ - 1000 30 Aug 2023 private-keys-v1.d
drwxr-x--- - 1000 14 Mar 19:27 public-keys.d
.rw-r--r-- 0 1000 24 Aug 2023 pubring.gpg
.rw-r--r-- 7.7k 1000 5 Mar 12:13 pubring.kbx
.rw-r--r-- 7.0k 1000 7 Sep 2023 pubring.kbx~
.rw------- 600 1000 8 Mar 07:20 random_seed
.rw-r----- 676 1000 30 Aug 2023 sshcontrol
.rw------- 1.6k 1000 2 Sep 2023 trustdb.gpg