web-dev-qa-db-de.com

Wie kann ich die GPG-Signaturprüfungen von apt umgehen / ignorieren?

Alle Key-Server, die ich besuche, laufen aus. Ich muss Pakete installieren, ohne die Signaturen der öffentlichen Schlüssel zu überprüfen. Gibt es eine Möglichkeit, alle Signaturprüfungen zu umgehen/alle Signaturfehler zu ignorieren oder zu glauben, die Signatur sei bestanden?

Mir ist sehr wohl bewusst, dass es gefährlich ist, dies zu tun

46
ashleysmithgpu

Übergeben Sie die Option --allow-unauthenticated an apt-get wie folgt:

Sudo apt-get --allow-unauthenticated upgrade

Aus der Manualpage von apt-get:

--Allow-nicht authentifiziert
Ignorieren Sie, wenn Pakete nicht authentifiziert werden können, und fragen Sie nicht danach. Dies ist nützlich für Tools wie pbuilder. Konfigurationselement: APT :: Get :: AllowUnauthenticated.

Sie können diese Einstellung dauerhaft machen, indem Sie Ihre eigene Konfigurationsdatei unter /etc/apt/apt.conf.d/ dir verwenden. Der Dateiname kann 99myown sein und folgende Zeile enthalten:

APT::Get::AllowUnauthenticated "true";

Auf diese Weise müssen Sie die Option nicht jedes Mal verwenden, wenn Sie Software installieren möchten. Hinweis: Ich empfehle nicht, diese Option standardmäßig festzulegen. Sie umgeht Signaturprüfungen, die es einem Gegner ermöglichen könnten, Ihren Computer zu gefährden.

67
Lekensteyn

Vielleicht können Sie versuchen, die Datei /etc/apt/apt.conf zu erstellen (sie wird gelesen, wenn Sie sie erstellen) und den folgenden Code einfügen:

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

Wenn Sie versuchen, ein Paket aus einem Repository abzurufen, in dem die Schlüssel gepackt und im Repository enthalten sind, und nicht woanders, kann es sehr ärgerlich sein, das Schlüssel-/Schlüsselringpaket mit dpkg herunterzuladen und zu installieren, und dies ist sehr schwierig in leicht skriptfähiger und wiederholbarer Weise.

Das folgende Skript wird nicht empfohlen, wenn Sie die Schlüssel von einem Keyserver installieren oder von einer vertrauenswürdigen Quelle über https herunterladen können. Wenn Sie jedoch keine andere Möglichkeit haben, können Sie diese verwenden.

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

Ich habe dies ursprünglich zusammengestellt, weil i3 in ihrem sur5r-Repo dies tut, aber dann habe ich herausgefunden, dass sich ihre Schlüssel in der keyserver.ubuntu.com-Liste befinden, sodass ich nur Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E3CA1A89941C42E6 kann und alle zusätzlichen Paketprobleme vermeide.

6
dragon788

Erstelle /etc/apt/apt.conf.d/99allow_unauth mit diesem Inhalt:

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

Danke an php-coder comment .

1
Totor

Ich hatte das gleiche Problem mit einem alten Debian-Server. Ich konnte kein Event machen

apt-get update

das gab mir folgenden fehler:

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

Schließlich bestand die Lösung darin, Folgendes hinzuzufügen:

Acquire::Check-Valid-Until false;

nach /etc/apt/apt.conf (falls nicht vorhanden). Danach wurde der Fehler zu einer einfachen Warnung.

Ich denke, es könnte auch auf Ubuntu funktionieren.

Bitte beachten Sie, dass es völlig unsicher ist.

0
Gnusam