Ich verwende bei einigen Softwarepaketen wie z.B, MariaDB oder MongoDB nicht die Standard-Repositories des Betriebssystems, sondern die Repositories der Softwarehersteller selbst, da diese deutlich öfter aktualisiert werden.
Bei einem routinemäßigen apt-get update
erscheint dann manchmal die Fehlermeldung „Die folgenden Signaturen waren ungültig: EXPKEYSIG“
ralf@ubiquiti:~$ sudo apt-get update
OK:1 http://archive.ubuntu.com/ubuntu bionic InRelease
Holen:2 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88,7 kB]
Holen:3 http://security.ubuntu.com/ubuntu bionic-security InRelease [88,7 kB]
Holen:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74,6 kB]
Ign:5 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 InRelease
OK:6 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 Release
Fehl:7 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 Release.gpg
Die folgenden Signaturen waren ungültig: EXPKEYSIG BC711F9BA15703C6 MongoDB 3.4 Release Signing Key <packaging@mongodb.com>
OK:8 https://dl.ubnt.com/unifi/debian stable InRelease
Es wurden 252 kB in 2 s geholt (157 kB/s).
Paketlisten werden gelesen... Fertig
W: Während der Überprüfung der Signatur trat ein Fehler auf. Das Depot wurde nicht aktualisiert und die vorherigen Indexdateien werden verwendet. GPG-Fehler: http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 Release: Die folgenden Signaturen waren ungültig: EXPKEYSIG BC711F9BA15703C6 MongoDB 3.4 Release Signing Key <packaging@mongodb.com>
W: Fehlschlag beim Holen von http://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/3.4/Release.gpg Die folgenden Signaturen waren ungültig: EXPKEYSIG BC711F9BA15703C6 MongoDB 3.4 Release Signing Key <packaging@mongodb.com>
W: Einige Indexdateien konnten nicht heruntergeladen werden. Sie wurden ignoriert oder alte an ihrer Stelle benutzt.
Der GPG-Schlüssel des MongoDB-Repositories ist offensichtlich abgelaufen und ich muss ihn durch einen gültigen Schlüssel erneuern. Hierzu benötige ich zunächst einmal die ID des Schlüssels, die ich mir mittels apt-key
anzeigen lasse. Da mich nur abgelaufene Schlüssel interessieren, filtere ich die Ausgabe mittels grep
entsprechend.
ralf@ubiquiti:~$ sudo apt-key list | grep -A 1 expired
pub rsa4096 2016-01-11 [SC] [expired: 2020-01-05]
0C49 F373 0359 A145 1858 5931 BC71 1F9B A157 03C6
uid [ expired] MongoDB 3.4 Release Signing Key <packaging@mongodb.com>
Der Schlüssel für das MongoDB Repository ist offensichtlich am 05.01.2020 abgelaufen und die ID ist 0C49F3730359A14518585931BC711F9BA15703C. Das Erneuern selbst geht mit dieser ID wiederum ganz einfach mit apt-key
.
ralf@ubiquiti:~$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0C49F3730359A14518585931BC711F9BA15703C6
Executing: /tmp/apt-key-gpghome.YP2jqrK5dq/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0C49F3730359A14518585931BC711F9BA15703C6
gpg: key BC711F9BA15703C6: "MongoDB 3.4 Release Signing Key <packaging@mongodb.com>" 1 new signature
gpg: Total number processed: 1
gpg: new signatures: 1
Das war es dann auch schon und apt-get update
läuft nun wieder einwandfrei durch.
ralf@ubiquiti:~$ sudo apt-get update
OK:1 http://archive.ubuntu.com/ubuntu bionic InRelease
OK:2 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
OK:3 http://archive.ubuntu.com/ubuntu bionic-backports InRelease
Ign:4 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 InRelease
OK:5 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 Release
OK:6 http://security.ubuntu.com/ubuntu bionic-security InRelease
OK:8 https://dl.ubnt.com/unifi/debian stable InRelease
Paketlisten werden gelesen... Fertig
sudo apt-key list | grep -A 1 expired
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Wie writer?
Hallo Wolfgang,
die Warnung weist darauf hin, dass das Vorgehen mittels apt-key mittlerweile veraltet ist. Die aktuelle Vorgehensweise ist diese (am Beispiel von MongoDB 4.0, du müsstest natürlich den zu deiner Software passenden Key herunterladen).
– Den entsprechenden Key herunterladen und also mongodb.key herunterladen mittels: wget -O – https://www.mongodb.org/static/pgp/server-4.0.asc > mongodb.key
– sicherheitshalber prüfen ob das auch wirklich der richtige Filetyp ist mittels: file ~/mongodb.key (die Ausgabe sollte dann so aussehen: „/home/ralf/mongodb.key: PGP public key block Public-Key (old)“)
– Einen entsprechenden Keyring anlegen mittels: „gpg –no-default-keyring –keyring ./mongodb_keyring.gpg –import mongodb.key“
– Aus diesem Keyring den eigentlichen Key extrahieren mittels: „gpg –no-default-keyring –keyring ./mongodb_keyring.gpg –export > ./mongodb.gpg“
– Nun nur noch ein „sudo mv ./mongodb.gpg /etc/apt/trusted.gpg.d/“ und einem erfolgreichen apt-get update sollte nichts mehr im Wege stehen.
Viel Erfolg!