GNU/Linux >> Znalost Linux >  >> Linux

Odstraňte klíč, jehož platnost vypršela, v APT

Dobrý den, drazí přátelé. Ačkoli to není vždy doporučeno, často k získání nejnovějších verzí balíčku nebo celého programu potřebujeme přidat externí úložiště. Obvykle mají tato úložiště klíč GPG, který nám umožňuje instalaci zabezpečit. Co se stane, když platnost těchto GPG klíčů vyprší? No a úložiště už není možné používat. V tomto příspěvku se tedy dozvíte, jak odstranit prošlý klíč v APT.

Podle Wikipedie:

GPG je nástroj pro šifrování a digitální podpis vyvinutý Wernerem Kochem, který je náhradou za PGP (Pretty Good Privacy), ale s hlavním rozdílem, že se jedná o svobodný software licencovaný pod GPL. GPG používá standard IETF s názvem OpenPGP.

S tímto nástrojem budeme schopni vytvořit veřejné klíče úložišť, které umožní systému určit, zda je důvěryhodný nebo ne. Zvláště pokud byly tyto balíčky upraveny a mohly by způsobit problémy v systému.

Z těchto důvodů mají všechna úložiště klíč GPG, který je nutné přidat do systému ručně nebo pomocí apt-key .

Problém nastává, když těmto klíčům vyprší platnost, protože jsou vytvářeny na omezenou dobu. To způsobí, že APT zobrazí chybu s názvem EXPKEYSIG .

Chcete-li tento problém vyřešit, je nejlepší odstranit klíč ze systému a poté stáhnout nový klíč GPG z úložiště.

Tak jdeme na to.

Odebrání klíče, jehož platnost vypršela, v APT

Když máme při spuštění v systému přidaný GPG klíč, jehož platnost vypršela

sudo apt update

Zobrazí se chyba podobná této.

Err:2 [repository_URL] InRelease
  The following signatures were invalid: EXPKEYSIG B188E2B695BD4743
Reading package lists... Done
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: [repository_URL] InRelease: The following signatures were invalid: EXPKEYSIG B188E2B695BD4743
W: Failed to fetch [repository_URL]  The following signatures were invalid: EXPKEYSIG B188E2B695BD4743
W: Some index files failed to download. They have been ignored, or old ones used instead.

Důležitou součástí této chyby je ověření, že GPG klíč skutečně vypršel.

Nejlepší věcí, kterou pak uděláte, je odstranit ji ze systému. Toho lze dosáhnout dvěma způsoby. Pokud byl klíč GPG přidán ručně, je uložen v /etc/apt/trusted.gpg.d/ cestu s .gpg a můžete jednoduše použít rm příkaz k jeho odstranění.

Na druhou stranu, pokud byl klíč GPG přidán s apt-key příkaz, pak je proces jiný a měli byste použít stejný příkaz k odstranění klíče GPG.

Chcete-li zkontrolovat, kterým GPG klíčům v systému vypršela platnost, můžete použít tento příkaz

sudo apt-key list 2>/dev/null | grep expired -B 1

Ukázkový výstup

pub rsa3072 2018-01-14 [SC] [expired: 2021-07-21] [SC] [expired: 2021-07-21] [expired: 2021-07-21
  1505 8500 A023 5D97 F5D1 0063 B188 E2B6 95BD 4743
  uid [ expired] Automatic Signing Key 

Z tohoto výstupu obrazovky máme zájem získat posledních 8 čísel otisku klíče GPG. Tato čísla tvoří ID, které potřebujeme.

V tomto případě 95BD4743 je číslo, které hledáme.

Chcete-li tedy odstranit klíč GPG, musíte spustit

sudo apt-key for [ID]

Pro tento příklad by to bylo

sudo apt-key for 95BD4743

A voila, zbývá vám jen stáhnout a přidat nový klíč GPG z dotčeného úložiště.

Poté, když spustíte

sudo apt update

Chyba zmizí a budete moci úložiště znovu používat.

Závěr

V tomto příspěvku jste se naučili základní trik správy úložiště, jako je odstranění vypršeného klíče v APT. Tímto způsobem s tím nebudete mít žádné problémy, až přijde čas. Tento trik nebo návod funguje jak pro uživatele stolních počítačů, tak pro uživatele serveru.

Web GPG

Další příspěvky zabezpečení


Linux
  1. Gpg:Zrušeno uživatelem?

  2. Co se stalo s /etc/apt/apt.conf?

  3. Jak opravit chybu GPG No Public Key NO_PUBKEY během aktualizace apt-get

  1. Základy GnuPG vysvětlené s příklady příkazů GPG pro Linux

  2. Opravit chybějící chyby úložiště klíče GPG apt (NO_PUBKEY)

  3. jak aktualizovat homebrew pomocí Cronu na Mac OS

  1. Jak aktualizovat klíč GPG pro úložiště MySQL APT na Debian/Ubuntu?

  2. Importovat klíč Ssh jako podklíč Gpg k použití pro ověřování Ssh?

  3. Jak určit soukromý klíč při dešifrování souboru pomocí GnuPG?