5 Easy Ways to Fix “GPG Error: No Public Key” on Ubuntu

Share

Introduction to “Ubuntu GPG error”

When using Ubuntu, one of the most common errors users encounter while updating or installing packages is the “GPG Error: No Public Key” message. This issue often arises when a repository’s public key is not available or hasn’t been installed on your system. Without this key, the Ubuntu package management system (APT) cannot verify the authenticity of the packages you’re trying to download, potentially halting updates or installations.

Mastering the Linux ‘grep’ Command: Essential Guide with Practical Examples

In this guide, we will walk you through five simple ways to fix this problem so you can continue updating your system securely.

What is the ‘GPG Error: No Public Key’?

GNU Privacy Guard (GPG) is a tool for secure communication and data storage. In Ubuntu, GPG is used to ensure the integrity and authenticity of software packages downloaded from repositories.

When you add a new software repository to your system, the repository provides a public key that allows Ubuntu to verify that the packages from that source are legitimate. However, if this key is missing, you’ll see an error like this:

W: GPG error: http://repository.url Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY XXXXXXXXXXXXXXXX

The error message indicates the key’s ID, which is required to resolve the problem. Here are five easy ways to fix the “Ubuntu GPG error“.

Way 1: Add the Missing GPG Key Manually

One of the quickest ways to resolve this error is to manually add the missing GPG key using the key ID provided in the error message.

Steps:

  • Identify the missing public key ID in the error message. The key ID will look something like this:
XXXXXXXXXXXXXX
  • Run the following command, replacing KEYID with the actual key ID:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEYID
  • After adding the key, update your package list:
sudo apt update

Example:

If the error shows a missing key A1B2C3D4E5F6G7H8, you would run:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1B2C3D4E5F6G7H8
sudo apt update

This should resolve the issue and allow the update process to continue.

Way 2: Fetch and Install the Public Key Using apt-key

If you prefer to use a simpler approach, you can use the apt-key command to fetch and install the missing public key.

Steps:

  • Find the missing key ID in the error message.
  • Use apt-key to add the key:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEYID
  • Update your package list:
sudo apt update

Example:

If your error message indicates the key A1B2C3D4E5F6G7H8 is missing, use this command:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1B2C3D4E5F6G7H8
sudo apt update

The apt-key command is convenient for installing missing keys with minimal effort.

Way 3: Use Launchpad to Find and Add the Key

Sometimes, the missing key may not be easily retrievable from a key server. In this case, you can search for the missing key on Launchpad.

Steps:

  • Visit the Launchpad PPA page.
  • Search for the software repository causing the error.
  • Find the repository’s associated public key and note its ID.
  • Add the key using the following command:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEYID
  • Update your package list:
sudo apt update

Example:

Let’s say you found the key for a repository on Launchpad, and its ID is 9A1234567B89CDEF. You would run:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9A1234567B89CDEF
sudo apt update

This approach ensures you’re retrieving the correct key from a trusted source.

Way 4: Use GPG to Directly Add the Key from a URL

If you have a direct URL to the missing key, you can use wget or curl to download and add the key manually.

Steps:

  • Download the key using wget or curl.
wget -qO - https://url-to-key | sudo apt-key add -

Or with curl:

curl -fsSL https://url-to-key | sudo apt-key add -
  • Update your package list:
sudo apt update

Example:

If the missing key is located at https://example.com/repository.key, use:

wget -qO - https://example.com/repository.key | sudo apt-key add -
sudo apt update

This is useful if the repository provides a direct link to its GPG key.

Way 5: Reconfiguring and Reinstalling Keyring Packages

Sometimes, reinstalling keyring packages can help fix broken or missing keys.

Steps:

  • Reinstall the ubuntu-keyring package:
sudo apt-get install --reinstall ubuntu-keyring
  • Reinstall the debian-archive-keyring (if needed):
sudo apt-get install --reinstall debian-archive-keyring
  • Update your package list:
sudo apt update

Reinstalling the keyring packages restores missing or corrupted keys, resolving the “No Public Key” error.

Conclusion

The Ubuntu GPG error can be a frustrating issue, but it’s relatively easy to fix. In this guide, we explored five different methods to resolve the problem:

  1. Adding the missing key manually using apt-key adv.
  2. Fetching and installing the key using apt-key.
  3. Using Launchpad to find and add the key.
  4. Directly adding the key from a URL.
  5. Reconfiguring and reinstalling keyring packages.

7 Easy Ways to Fix the “Command Not Found” Error in Linux

By following these steps, you should be able to fix the Ubuntu GPG error and ensure that your system updates and package installations proceed smoothly. Regularly updating your GPG keys is essential to maintaining a secure and well-functioning Ubuntu system.

Kevin
Kevinhttps://mochabyte.net
I’m a tech enthusiast and writer with a knack for making complex concepts simple. With experience in web development, AI, and server management, I enjoy helping others navigate the tech world through clear and practical content. I love coding and exploring new technologies, especially with a good cup of coffee by my side.

Read more

Find Out More