Como posso recuperar (ou redefinir) as chaves GPG do * .debian.org?

1

Então eu acho que apaguei ou corrompi as chaves gpg que eu tinha para o * .debian.org, o que torna apt-get update yield

Ign http://ftp.fr.debian.org jessie InRelease
Réception de : 1 http://security.debian.org jessie/updates InRelease [63,1 kB]
Réception de : 2 http://ftp.debian.org jessie-backports InRelease [166 kB]
Réception de : 3 http://ftp.fr.debian.org jessie Release.gpg [2 434 B]
Ign http://security.debian.org jessie/updates InRelease
Réception de : 4 http://ftp.fr.debian.org jessie-updates InRelease [145 kB]
Ign http://security.debian.org jessie/updates/main Sources/DiffIndex
Ign http://ftp.debian.org jessie-backports InRelease
Ign http://security.debian.org jessie/updates/main amd64 Packages/DiffIndex
Err http://ftp.fr.debian.org jessie-updates InRelease

Réception de : 5 http://ftp.debian.org jessie-backports/main amd64 Packages/DiffIndex [27,8 kB]
Atteint http://ftp.fr.debian.org jessie Release
Ign http://ftp.fr.debian.org jessie Release
Réception de : 6 http://ftp.debian.org jessie-backports/contrib amd64 Packages/DiffIndex [25,3 kB]
Ign http://ftp.fr.debian.org jessie/main Sources/DiffIndex
Ign http://ftp.fr.debian.org jessie/main amd64 Packages/DiffIndex
Atteint http://security.debian.org jessie/updates/main Translation-en
Atteint http://security.debian.org jessie/updates/main Sources
Atteint http://security.debian.org jessie/updates/main amd64 Packages
Atteint http://ftp.debian.org jessie-backports/contrib Translation-en
Atteint http://ftp.fr.debian.org jessie/main Translation-fr
Atteint http://ftp.fr.debian.org jessie/main Translation-en
Ign http://security.debian.org jessie/updates/main Translation-fr_FR
Ign http://security.debian.org jessie/updates/main Translation-fr
Atteint http://ftp.debian.org jessie-backports/main Translation-en
Atteint http://ftp.fr.debian.org jessie/main Sources
Atteint http://ftp.fr.debian.org jessie/main amd64 Packages
Ign http://ftp.fr.debian.org jessie/main Translation-fr_FR
Ign http://ftp.debian.org jessie-backports/contrib Translation-fr_FR
Ign http://ftp.debian.org jessie-backports/contrib Translation-fr
Ign http://ftp.debian.org jessie-backports/main Translation-fr_FR
Ign http://ftp.debian.org jessie-backports/main Translation-fr
430 ko réceptionnés en 2s (175 ko/s)
Lecture des listes de paquets…
W: Erreur de GPG : http://security.debian.org jessie/updates InRelease : Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY (SOME hexadecimals) NO_PUBKEY (SOME hexadecimals)
W: Erreur de GPG : http://ftp.debian.org jessie-backports InRelease : Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY (SOME hexadecimals) NO_PUBKEY (SOME hexadecimals)
W: Une erreur s'est produite lors du contrôle de la signature. Le dépôt n'est pas mis à jour et les fichiers d'index précédents seront utilisés. Erreur de GPG : http://ftp.fr.debian.org jessie-updates InRelease : Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY (SOME hexadecimals) NO_PUBKEY (SOME hexadecimals)

W: Erreur de GPG : http://ftp.fr.debian.org jessie Release : Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY (SOME hexadecimals) NO_PUBKEY (SOME hexadecimals) NO_PUBKEY (SOME hexadecimals)
W: Impossible de récupérer http://ftp.fr.debian.org/debian/dists/jessie-updates/InRelease  

W: Le téléchargement de quelques fichiers d'index a échoué, ils ont été ignorés, ou les anciens ont été utilisés à la place.

"As assinaturas não são passadas e não podem ser verificadas porque a chave pública não está disponível".

Como posso reverter esses erros?

Atualização: eu fiz

# wget http://ftp.fr.debian.org/debian/pool/main/d/debian-archive-keyring/debian-archive-keyring_2017.5~deb8u1_all.deb
# dpkg -i debian-archive-keyring_2017.5~deb8u1_all.deb

Mas nada mudou. Eu suspeito que o que causou a coisa toda é

# curl -s https://www.dotdeb.org/dotdeb.gpg | apt-key remove

para remover a chave gpg que acabei de adicionar alguns minutos antes.

    
por Pierre Antoine Guillaume 16.01.2018 / 12:36

2 respostas

1

Como você já reinstalou o pacote debian-archive-keyring , os arquivos de chave reais devem estar no lugar. Mas a reinstalação não conseguiu adicionar novamente as chaves como confiáveis, possivelmente por causa de certas condições no script postinst no pacote que parecem estar relacionadas à migração do Debian squeeze para jessie.

Você provavelmente precisará fazer isso (ou algo muito semelhante):

# cd /etc/apt/trusted.gpg.d
# for i in *.gpg ; do apt-key add $i; done

Se as chaves reais ainda estiverem faltando, a forma de força bruta é extrair o pacote manualmente:

mkdir /tmp/workdir
cd /tmp/workdir
ar x /some/where/debian-archive-keyring_2017.5~deb8u1_all.deb
tar xvf data.tar.xz

Agora você definitivamente deve ter os arquivos de chave no diretório /tmp/workdir/etc/apt/trusted.gpg.d/ . Copie-os e use o comando apt-key add como sugerido acima.

    
por 16.01.2018 / 14:25
0

Faça o download de debian-archive-keyring (este link para a versão Jessie), e instale-o manualmente (como raiz):

dpkg -i debian-archive-keyring_2017.5~deb8u1_all.deb

Isso restaurará as chaves em /etc/apt/trusted.gpg.d e você poderá executar apt novamente.

    
por 16.01.2018 / 12:40

Tags