it-swarm.dev

Jak mohu obejít / ignorovat kontroly podpisu gpg apt?

Všechny klíčové servery, které navštěvuji, vyprší časový limit. Potřebuji nainstalovat balíčky bez kontroly podpisů veřejných klíčů. Existuje způsob, jak obejít všechny kontroly podpisu/ignorovat všechny chyby podpisu nebo blázna apt do myšlení podpis prošel?

Jsem si velmi dobře vědom, že je nebezpečné to dělat

51
ashleysmithgpu

Předejte --allow-unauthenticated možnost apt-get jako v:

Sudo apt-get --allow-unauthenticated upgrade

Z manuálové stránky uživatele apt-get:

--allow-neautenticated
Ignorujte, pokud balíčky nemohou být ověřeny a nevyzvěte to. To je užitečné pro nástroje, jako je pbuilder. Konfigurační položka: APT :: Get :: AllowUnauthenticated.

Toto nastavení můžete nastavit jako trvalé pomocí vlastního konfiguračního souboru na adrese /etc/apt/apt.conf.d/ dir. Název souboru může být 99myown a může obsahovat tento řádek:

APT::Get::AllowUnauthenticated "true";

Tímto způsobem nemusíte tuto možnost používat pokaždé, když chcete nainstalovat software. Poznámka: Nedoporučuji ve výchozím nastavení tuto možnost, obchází kontroly podpisů, které by mohly protivníkovi umožnit napadnout počítač.

74
Lekensteyn

Pokud se pokoušíte získat balíček z úložiště, kde zabalilo klíče a zahrnout je do úložiště a nikde jinde, může být velmi nepříjemné stáhnout a nainstalovat balíček klíčů/klíčenek pomocí dpkg a velmi obtížné to udělat. snadno čitelným a opakovatelným způsobem.

Níže uvedený skript se nedoporučuje, pokud můžete instalovat klíče ze serveru klíčů nebo je stáhnout z důvěryhodného zdroje přes https, ale pokud nemáte jiný způsob, můžete to použít.

echo "deb http://your.repo.domain/repository/ $(lsb_release -c -s) universe" | Sudo tee /etc/apt/sources.list.d/your-repo-name.list

Sudo apt -o Acquire::AllowInsecureRepositories=true \
-o Acquire::AllowDowngradeToInsecureRepositories=true \
update

## if the 'apt update' above fails it is likely due to previously
## having the GPG key and repository on the system, you can clean
## out the old lists with `Sudo rm /var/lib/apt/lists/your.repo.domain*`

apt-get -o APT::Get::AllowUnauthenticated=true install repo-keyring-pkgname

## If you ever run `Sudo apt-key del your-repos-keyID`
## you may have to `Sudo apt remove --purge repo-keyring-pkgname`
## Update should run without the GPG warnings now that the key is installed

apt-get update
apt-get install somepkg-from-repo

Původně jsem to dal dohromady, protože i3 v jejich sur5r repo to dělá, ale pak jsem zjistil, že jejich klíče jsou v seznamu keyserver.ubuntu.com, takže můžu jen Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E3CA1A89941C42E6 a vyhněte se všem problémům s balíčky navíc.

7
dragon788

Možná se můžete pokusit vytvořit soubor /etc/apt/apt.conf (bude čten, pokud jej vytvoříte) a vložit tento kód:

APT{Ignore {"gpg-pubkey"; }};
6
lebenlechzer

Se stejným problémem jsem narazil na starý debian server. Nemohl jsem událost udělat

apt-get update

který mi dal následující chybu:

E: Release file expired, ignoring http://archive.debian.org/debian/dists/squeeze-lts/Release (invalid since 1183d 0h 2min 51s)

Nakonec bylo řešením přidat toto:

Acquire::Check-Valid-Until false;

to /etc/apt/apt.conf (vytvořte, pokud neexistuje). Poté se chyba stala jednoduchým varováním.

Myslím, že by to mohlo fungovat i na ubuntu.

Vezměte prosím na vědomí, že je zcela nebezpečný.

1
Gnusam

Vytvořit /etc/apt/apt.conf.d/99allow_unauth s tímto obsahem:

APT { Get { AllowUnauthenticated "1"; }; };

Díky php-coder 's komentář .

1
Totor