Lately, my Debian servers have been bugging me with stuff like this everytime I tried to apt-get update:

W: There are no public key available for the following key IDs: XYZ123 W: You may want to run apt-get update to correct these problems</p>

and it tells you to ap-get update to solve the problem, which is of little help, since that is what caused the problem in the first place!

Here's the solution:

# gpg --keyserver --recv-keys XYZ123

Don't forget to replace XYZ123 with the actual missing key.

# apt-key add /root/.gnupg/pubring.gpg
# apt-get update

Comments from long ago:

Comment from: Alexander Reichle-Schmehl

No! Please at first make sure you have the recent version of debian-archive-keyring installed (some addittional repositories have similar packages).

And before adding random keys by hand, please make sure, that the fingerprint of the key you received matches the one the distributor hopefully has shown to you in a secure manor. You can see the fingerprint of a key with “gpg –fingerprint XYZ123”

Also please don’t run “apt-key add /root/.gnupg/pubring.gpg” since this will not only add the key you just downloaded, but every other key available in that specific keyring, too.

Better use “gpg –armor –export XYZ123 | apt-key add -” which will only add the one single key to the trusted keys of apt.

Best regards, Alexander

2009-05-29 10-20

Comment from: Hans

Would “apt-get install debian-archive-keyring” not do the trick?

2009-05-29 12-58

Comment from: François Planque

apt-get install debian-archive-keyring was telling me I was installing from an untrusted source.

2009-05-29 13-15

Comment from: François Planque

Here’s what I do now:

gpg –keyserver –recv 9AA38DCD55BE302B

gpg –export –armor 9AA38DCD55BE302B | apt-key add -

2009-09-01 20-23

Comment from: Neomilium

You can also use: apt-key adv –keyserver hkp:// –recv-keys 9AA38DCD55BE302B

2010-05-20 10-26