offizielle Nginx Trusty PPA gibt KEYEXPIRED GPG-Fehler

34

Bei jedem apt-get-Upgrade wird der folgende Fehler angezeigt:

GPG-Fehler: http://nginx.org Trusty Release: Die folgenden Signaturen waren ungültig: KEYEXPIRED 1471427554

Ich habe gerade das offizielle nginx ppa auf die übliche Weise installiert, indem ich Folgendes zu meiner sources.list hinzugefügt habe

deb http://nginx.org/packages/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/ubuntu/ trusty nginx

Ist dies ein Fehler von ihrem Ende, den sie hoffentlich irgendwann beheben werden, oder gibt es etwas, das ich von meinem Ende an tun muss?

Mohamed Hafez
quelle
1
Haben Sie diesen Schlüssel von NGINX heruntergeladen , dann ausgeführt sudo apt-key add nginx_signing.keyund immer noch diesen Fehler erhalten?
Thomas Ward
2
das passiert ... manchmal. Dies ("1471427554") sieht jedoch nicht nach einem gültigen GPG-Schlüssel aus. wget http://nginx.org/keys/nginx_signing.key -O - |sudo apt-key add -führt beide von @ThomasWard vorgeschlagenen Schritte in einem kleinen Befehl aus.
Phillip-Zyan K Lee- Stockmann
LANG=C sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 1471427554gibt den folgenden Fehler zurück: Executing: /tmp/tmp.EU8uLKmT5b/gpg.1.sh --keyserver keys.gnupg.net --recv-keys 1471427554 gpg: "1471427554" not a key ID: skipping
Phillip-Zyan K Lee- Stockmann
1
Ja, die Schlüsseldatei ist auch über https verfügbar.
Phillip-Zyan K Lee- Stockmann
1
@Phillip: Tatsächlich ist 1471427554 der Zeitstempel der Ablaufzeit für den APT-Signaturschlüssel. Moderne Versionen des Datumsbefehls analysieren es in ein für Sie lesbares Format: date -u -d @1471427554gives Wed Aug 17 09:52:34 UTC 2016.
BertD

Antworten:

48

Nachdem Sie einer /etc/apt/sources.list.d/*Datei oder ein Repository eines Drittanbieters hinzugefügt haben /etc/apt/sources.list, müssen Sie sicherstellen, dass der entsprechende gpg-Schlüssel in den apt-Keystore eingefügt ist.

Um genauer auf diesen speziellen Fall des nginx.org-Repository einzugehen: Sie müssen die gpg-Schlüsseldatei von nginx.org hinzufügen, die zum Signieren des Repositorys verwendet wird.

Dies kann entweder durch manuelles Herunterladen der Datei https://nginx.org/keys/nginx_signing.key und Ausgabe sudo apt-key add nginx_signing.key(wie von nginx.org und @ThomasWard vorgeschlagen) oder in einer einzigen Zeile erfolgen:

wget https://nginx.org/keys/nginx_signing.key -O - | sudo apt-key add -
Phillip-Zyan K Lee-Stockmann
quelle
Ok, das hat funktioniert, aber ich muss falsch gelesen haben oder etwas verpassen. Warum ist das jetzt plötzlich aufgetaucht? Ich verstehe das nicht.
Codenoob
1
@ Linsong beschrieb, warum dies jetzt auftauchte: Der alte GPG-Schlüssel war am 17. August abgelaufen. Sie mussten also den neuen Schlüssel herunterladen.
Phillip-Zyan K Lee- Stockmann
11

Die Hauptursache für dieses Problem ist, dass der "ältere" Nginx-Signaturschlüssel am 17. August 2016 abgelaufen ist:

$ sudo apt-key list

pub   2048R/7BD9BF62 2011-08-19 [expired: 2016-08-17]
uid                  nginx signing key <[email protected]>

Um dieses Problem zu beheben, fügen Sie den neuen Signaturschlüssel mit dem von @ phillip-zyan-k-lee-stockmann und @ThomasWard vorgeschlagenen Befehl hinzu:

wget https://nginx.org/keys/nginx_signing.key -O - | sudo apt-key add -

Der neue Schlüssel läuft im Jahr 2024 ab:

$ sudo apt-key list

pub   2048R/7BD9BF62 2011-08-19 [expires: 2024-06-14]
uid                  nginx signing key <[email protected]>
hwdsl2
quelle
Ich denke, dass mir diese Antwort insgesamt gefällt, da sie versucht zu erklären, was besser passiert ist. (Die obige Erklärung passte trotz der Antwort nicht zu meinem Anwendungsfall.)
Codenoob