GPG Error in der apt-get Schlüsselverwaltung

Auf frisch installierten Server habe ich häufig das Problem, dass für eine Überprüfung nach sudo apt-get update die entsprechenden GPG-Schlüssel fehlen. Somit kann apt-get die zu installierenden Pakete nicht überprüfen. Natürlich kann auch auf die Überprüfung verzichtet werden. Jedoch ist dies nicht im Sinne des Entwicklers und es wird nicht mehr Sichergestellt, dass die Software-Paketdaten auch wirklich vertraulich sind.

Die Fehlermeldung sieh meisten wie folgt aus (hier Ubuntu 14.04):

...
Fetched 3732 B in 2s (1523 B/s)              
Reading package lists... Done
W: GPG error: http://archive.canonical.com trusty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
W: GPG error: http://archive.ubuntu.com trusty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
W: GPG error: http://archive.ubuntu.com trusty-updates Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
W: GPG error: http://security.ubuntu.com/ trusty-security Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32

Wie der Meldung eindeutig zu entnehmen fehlen die hier GPG-Schlüssel 40976EAF437D05B5 und 3B4FE6ACC0B21F32.

Bei einem nachfolgenden sudo apt-get upgrade würde dann folgende Meldung erscheinen:

WARNING: The following packages cannot be authenticated!
  ...Auflistung von Paketen...
Install these packages without verification? [y/N]

Was tun ?

Ganz einfach die fehlenden GPG-Schlüssel dem System hinzufügen. Dies geht mit:

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys >SchlüsselID<

Danach sieht die Ausgabe etwa wie folgt aus und das Problem sollte nicht wieder auftauchen:

Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.ZfdYij3xyC --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5
gpg: requesting key 437D05B5 from hkp server keyserver.ubuntu.com
gpg: key 437D05B5: public key "Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1

Extra Info

Mit apt-key list kann man sich alle seine Schlüssel für die Paketverwaltung anzeigen lassen. Sollten Abgelaufene Schlüsse dabei sein (z.B. von fremden Paketquellen), könne diese z.B. mit

sudo apt-key del >Schlüssel ID<

entfernt werden. Aber ACHTUNG das Datum welches direkt nach der Schlüssel ID steht, ist das Erstellungsdatum. Schlüssel mit Ablaufdatum sehen aus, wie z.B.:

pub 2048g/133A59E3 2014-08-23 [verfällt: 2019-08-23]