Debian/Ubuntu apt-get "Signaturen ungültig"

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

2 Kommentare zu „Debian/Ubuntu apt-get "Signaturen ungültig"“

  1. 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?

  2. 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!

Kommentarfunktion geschlossen.