This morning when I do apt-get update on my new Ubuntu 14.04 server, I got these error messages:
Reading package lists… Done 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 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
After did some small research on Google, I found a way to overcome this GPG NO_PUBKEY error by downloading the missing key using apt-key tools. The command is as follow:
1 |
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 |
Command result:
1 2 3 4 5 |
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.nbL6QNuTxI --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 <[email protected]>" imported gpg: Total number processed: 1 gpg: imported: 1 |
Second command:
1 |
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32 |
Result:
1 2 3 4 5 |
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.scMJ2LlY0s --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32 gpg: requesting key C0B21F32 from hkp server keyserver.ubuntu.com gpg: key C0B21F32: public key "Ubuntu Archive Automatic Signing Key (2012) <[email protected]>" imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) |
Notice that code 40976EAF437D05B5 and 3B4FE6ACC0B21F32 was taken from the error messages above.
Now you can do apt-get update again and you should have no error anymore.