yum install e update fail - as chaves GPG listadas para o repositório “CentOS-7 - Updates” já estão instaladas, mas não estão corretas

2

Estou perplexo com este erro de eliminação de atualização.

Esse erro afeta todas as atualizações até que eu desative o gpgcheck no repositório de atualizações. IE /etc/yum.repos.d/CentOS-Base.repo | [updates] .gpgcheck = 0

Está acontecendo em cada máquina que eu tenho - eu pensei no princípio que era um problema do tipo "pet / floco de neve", mas não, isso está afetando todo o rebanho.

warning: /var/cache/yum/x86_64/7/updates/packages/scap-security-guide-0.1.36-9.el7.centos.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f533f4fa: NOKEY
Public key for scap-security-guide-0.1.36-9.el7.centos.noarch.rpm is not installed
scap-security-guide-0.1.36-9.el7.centos.noarch.rpm                               | 4.4 MB  00:00:03
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

The GPG keys listed for the "CentOS-7 - Updates" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.


 Failing package is: scap-security-guide-0.1.36-9.el7.centos.noarch
 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

gpg --quiet --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 mostra a impressão digital correta.

diff diz /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 e http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7 match.

file diz que o / etc / pki / rpm-gpg / RPM-GPG-KEY-CentOS-7 é um bloco de chave pública de PGP.

stat diz que é um arquivo normal.

ls -lZa /etc/pki/rpm-gpg/ mostra todos os arquivos de propriedade de root: root com segurança Contexto: system_u: object_r: cert_t: s0

lsattr /etc/pki/rpm-gpg/ não mostra nenhum conjunto de atributos.

Nenhum erro foi relatado para o disco.

Não há memória nem registro de qualquer outra atualização que falhe desde que o sistema operacional foi instalado em 2016.

O URL do pacote é link

yum provides scap-security-guide diz: scap-security-guide-0.1.36-9.el7.centos.noarch é em Repo: atualizações

/etc/yum.repos.d/CentOS-Base.repo (excerpt)
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

/etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

# Added after installing deltarpm
deltarpm=-1

Após a reinicialização, corri yum clean all que limpou todos os repositórios ativos: base epel extras mariadb psychotic updates
Seguido por rm -rf /var/cache/yum
antes de reexecutar yum update
Ele jogou o erro novamente e continua a fazê-lo

Centos 7,4
Centos 7.5

    
por iletras 20.05.2018 / 18:43

2 respostas

1

Talvez haja realmente um problema com o espelho ou algum tipo de MITM.

Primeiro (com cache intacto, portanto, antes de remover /var/cache/yum ), obtenha o ID da Chave (os últimos 8 caracteres do ID da Chave, o 9º é a nova linha)

rpm -qpi /var/cache/yum/x86_64/7/updates/packages/scap-security-guide-0.1.36-9.el7.centos.noarch.rpm | tail -c9

No meu caso, isso é f4a80eb5 (e eu acho que deve ser o mesmo no seu caso)

Em seguida, listamos todos os rpg pubkeys conhecidos no rpm e procuramos o que usou nosso pacote

rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n' | grep f4a80eb5

que deve nos dar um resultado

gpg-pubkey-f4a80eb5-53a7ff4b    gpg(CentOS-7 Key (CentOS 7 Official Signing Key) <[email protected]>)

Se você não tiver uma saída do comando rpm -q gpg-pubkey , isso pode ser uma das duas coisas

  1. O rpm não pode ver o pubkey e você pode precisar importá-lo com

    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    
  2. O pacote do espelho é NÃO assinado com a chave correta, que pode ser um MITM-Attack ou uma sobreposição de espelhamento.

Se você obtiver exatamente um resultado, eu realmente não sei o que poderia ser o problema agora. Eu iria para um strace para aprofundar e realmente descobrir qual é o problema.

    
por 20.05.2018 / 21:41
1

Eu vi o problema (LOL - desculpe, não MITM ou espelhos corruptos). Eu rastreei até a versão do gpg instalada e vinculada ao sistema. Normalmente você vai querer o gpg2. Mas, gpg pode acabar sendo seu padrão se (por exemplo) você não tiver o binário gpg2, entradas PATH faltando ou erradas, falta um link para o binário e assim por diante.

    
por 11.10.2018 / 21:09

Tags