Debian 系统软件源签名验证失败问题解决方法

在使用 Debian 系统时,若执行 apt update或安装软件时遇到 GPG 签名验证失败​ 的错误(如 NO_PUBKEY提示),通常是由于系统缺少必要的 GnuPG 工具或软件源的公钥未正确导入。以下结合具体案例,提供完整的排查和解决方案。

一、问题现象

用户在尝试更新软件源时遇到以下错误:

Err:4 链接2 buster-backports InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0E98404D386FA1D9 NO_PUBKEY 6ED0E7B82643E131
E: The repository '链接1 buster-backports InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.

二、问题分析

  1. GnuPG 工具缺失​错误提示 gnupg, gnupg2 and gnupg1 do not seem to be installed表明系统缺少用于管理密钥的工具。
  2. 软件源签名密钥未导入NO_PUBKEY错误表明系统无法验证软件源的真实性,需手动导入对应的公钥。
  3. 仓库配置问题​若仓库 URL 使用了非官方镜像或旧版地址(如 debian-archive.debian.org已迁移到 deb.debian.org),可能导致密钥同步异常。

三、解决方案

第一步:安装 GnuPG 工具

sudo apt-get update
sudo apt-get install -y gnupg2

作用:安装 gnupg2工具,用于管理 GPG 密钥。

第二步:导入缺失的密钥

方法 1:通过 wget直接导入密钥

# 导入 Debian 安全仓库密钥(0E98404D386FA1D9)
wget -qO - https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x0E98404D386FA1D9 | \
sudo gpg --dearmor -o /usr/share/keyrings/debian-archive-keyring.gpg

# 导入其他相关密钥(如 6ED0E7B82643E131)
wget -qO - https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x6ED0E7B82643E131 | \
sudo gpg --dearmor -o /usr/share/keyrings/debian-archive-keyring.gpg

方法 2:使用 apt-key命令(推荐)

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9 6ED0E7B82643E131

注意:若提示 gpg: no valid OpenPGP data found,需检查网络连接或密钥是否存在。

第三步:修复软件源配置

备份原有 sources.list

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

编辑 sources.list,确保仓库 URL 正确​将仓库地址改为官方镜像(如 deb.debian.org):

deb http://deb.debian.org/debian buster main
deb-src http://deb.debian.org/debian buster main

deb http://security.debian.org/debian-security buster/updates main
deb-src http://security.debian.org/debian-security buster/updates main

# 非官方仓库建议注释或删除
# deb 链接2 buster-backports InRelease

重新加载软件源

sudo apt-get update

四、注意事项

  1. 镜像站点选择​避免使用非官方或过时的镜像(如 debian-archive.debian.org),优先使用 deb.debian.org 或者 https://mirrors.cloud.tencent.com/
  2. 密钥有效性验证​导入密钥后,可通过以下命令检查:
sudo apt-key list | grep -E "0E98404D|6ED0E7B8"

五、总结

通过安装 GnuPG 工具、导入正确密钥并修复仓库配置,可解决 Debian 系统的 GPG 验证失败问题。日常维护中建议定期更新系统,并优先使用官方镜像以保证安全性。

原创文章,作者:陌涛,如若转载,请注明出处:https://imotao.com/9105.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
陌涛陌涛
上一篇 2025年11月2日 下午5:20
下一篇 2020年1月13日 下午4:50

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

docker镜像已更新为 https://0-docker.nat.tf/