Debian/Ubuntu无公钥怎么办,apt密钥失效怎么修

遇到 Debian 或 Ubuntu 执行 apt update 弹出 W: There is no public key available for the following key IDs,不用重装系统,这通常只是某个第三方软件源缺少签名公钥,补齐 key 或换掉问题源,十分钟内就能让更新恢复正常。如果你刚好在用国内服务器的 Debian/Ubuntu 镜像,把 key 修好之后,apt 更新速度往往也会跟着稳下来。

debian更新提示没有公钥怎么办?先理解这行黄字到底卡在哪

很多人在 VPS 上第一次见到这行提示会下意识以为系统坏了,其实它只是 apt 在说:某个源里的软件包签名,我本地没有对应的公钥可以验证,apt 会把这个源暂时跳过,不会阻止系统自带仓库继续更新。

Ubuntu WineHQ安装公钥后仍提示没有公钥的解决方法分享
加载中
Ubuntu WineHQ安装公钥后仍提示没有公钥的解决方法分享

常见触发场景包括:

  • 手动添加了 Docker、Nginx、MySQL、NodeSource 等第三方源,只写了 deb 地址,没有配置 signed-by 公钥路径
  • 从 Debian 10 升级到 Debian 11 或 Ubuntu 20.04 升级到 22.04,旧版 apt-key add 导入的 key 不再被新的 keyring 机制读取
  • 云厂商模板里预装的某个软件源公钥过期,或者模板制作时漏导了 key
  • 本地 /etc/apt/trusted.gpg、/etc/apt/trusted.gpg.d/ 目录被误删、清空或权限损坏
  • 换源脚本只替换了 /etc/apt/sources.list,没有同步替换 /etc/apt/sources.list.d/ 下第三方源里的 key 路径

这行 W 之所以是黄字不是红字,就是因为它的严重级别不高,系统包管理器仍然可以正常更新 Ubuntu 官方 archive.ubuntu.com 或 Debian 官方 deb.debian.org 的安全补丁,只是被跳过那个源里的软件拿不到更新,对于跑着 Docker 或者 Node.js 生产服务的机器,这个跳过就不算小事了。

ubuntu apt update 公钥缺失解决方法:从缺失KEY到apt update不再报W

先抓取完整的 key ID

不要只扫一眼警告就急着搜命令,先把缺失的 key ID 拿到手:

sudo apt update 2>&1 | grep "NO_PUBKEY"

多数时候会看到类似:

NO_PUBKEY 3B4FE6ACC0B21F32

末尾那一串 3B4FE6ACC0B21F32 就是需要补充的 key ID,也有部分情况提示的是 The following signatures couldn't be verified because the public key is not available,这种同样能用下面方法处理。

选择导入公钥的正确姿势

最短的临时修复是用 apt-key:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32

Debian/Ubuntu无公钥怎么办,apt密钥失效怎么修

这条命令在旧版 Debian/Ubuntu 上很好用,但 apt-key 已经被官方标记为弃用,它在 Debian 11、Ubuntu 22.04 上仍然能执行,不过会打印一堆 deprecation 警告,更干净的做法是把 key 放进 /usr/share/keyrings/ 目录,再让源文件通过 signed-by 精确指向它:

sudo mkdir -p /usr/share/keyrings
sudo gpg --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
sudo gpg --export 3B4FE6ACC0B21F32 | sudo tee /usr/share/keyrings/custom.gpg >/dev/null

然后检查 /etc/apt/sources.list.d/ 下对应源的 .list 文件,把原本的:

deb [arch=amd64] https://example.com/ubuntu jammy stable

改成:

deb [arch=amd64 signed-by=/usr/share/keyrings/custom.gpg] https://example.com/ubuntu jammy stable

如果不想改源文件,也可以直接把 key 放进 /etc/apt/trusted.gpg.d/:

sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/custom.gpg < keyfile

这种方式比 apt-key 更集中,也更容易管理,但仍然属于全局信任,不如 signed-by 精准。

验证警告是否消失

执行:

sudo apt update

如果之前那行 W 不再出现,说明 key 已经补对位置,还有个别源会继续提示,通常是源文件里 signed-by 路径与实际导出的 key 文件名不一致,用 grep -R "signed-by" /etc/apt/sources.list /etc/apt/sources.list.d/ 逐个核对即可。

国内服务器debian ubuntu公钥更新慢的另一个原因:keyserver连不上

国内不少服务器在执行 gpg --keyserver keyserver.ubuntu.com 时会卡很久,甚至直接超时,这并不代表 key 不存在,而是 key server 的访问链路不稳定。

遇到这种情况可以先试 80 端口:

sudo gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3B4FE6ACC0B21F32

如果还是慢,就别跟 keyserver 死磕,直接去软件源官方网站下载 GPG key 文件,再用 gpg --dearmor 转成 apt 可识别的格式,以 Docker 官方源为例:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg

NodeSource 的 key 也能直接下载:

curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/nodesource.gpg

Debian/Ubuntu无公钥怎么办,apt密钥失效怎么修

这种直接从源站拿 key 的方式,比依赖公共 keyserver 更适合国内服务器环境,只要能访问对应软件源的下载地址,key 一般就不会卡住。

debian missing public key 修复实战:一台VPS换源后更新的复盘

说一个具体场景,一台 Debian 12 的 VPS,为了加速把系统源换成了简米云镜像,之后又在同一台机器上按照旧教程添加了 Docker 源,结果执行 apt update 时出现了:

W: GPG error: https://download.docker.com/linux/debian bookworm InRelease
The following signatures couldn't be verified because the public key is not available:
NO_PUBKEY 8D81803C0EBFCD88

这里的问题不是简米云镜像,而是添加 Docker 源时只写了:

deb [arch=amd64] https://download.docker.com/linux/debian bookworm stable

漏掉了官方文档里要求的 signed-by 参数,修复时先下载 Docker 官方的 GPG key:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg

然后编辑 /etc/apt/sources.list.d/docker.list,改成:

deb [arch=amd64 signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable

最后执行:

sudo apt update

W 提示消失,Docker 源开始正常刷新,这个过程和换源没有直接冲突,只是旧教程省略了 keyring 步骤导致的典型问题。

老版本debian ubuntu公钥过期修复与apt-key弃用后的判断

公钥过期和公钥缺失是两回事,过期通常表现为 KEYEXPIRED 或者 EXPKEYSIG,缺失才是 NO_PUBKEY,但两种问题的修复思路接近:拿到新 key,替换旧 key,或者直接移除已经不再使用的失效源。

目前不同导入方式的适用情况可以这样理解:

导入方式 推荐程度 适用版本 备注
apt-key adv --recv-keys 临时可用 Debian 10、Ubuntu 20.04 及更早 最简单,但写入全局信任,已弃用
gpg --dearmor 到 /usr/share/keyrings 推荐 Debian 11/12、Ubuntu 22.04/24.04 隔离干净,需配合 signed-by
导出到 /etc/apt/trusted.gpg.d/ 可以接受

Debian/Ubuntu无公钥怎么办,apt密钥失效怎么修

全版本

比旧 apt-key 好管理,但仍是全局信任
直接删除失效第三方源视情况全版本如果该源已经不用,删除最省事

处理老版本系统时,/etc/apt/trusted.gpg 被误删,可以重新安装系统自带的 keyring 包,Debian 下是 debian-archive-keyring,Ubuntu 下是 ubuntu-keyring:

sudo apt-get install --reinstall debian-archive-keyring
sudo apt-get install --reinstall ubuntu-keyring

不过当前版本的公钥文件通常已经迁移到 /usr/share/keyrings/,旧位置的 trusted.gpg 只是兼容性残留。

多数情况下,W 警告不是系统损坏,而是某个仓库的信任关系断了,只要把 key 放回正确位置,apt update 就能恢复正常,对于国内服务器,优先从软件源官网直接下载 key 文件,比连公共 keyserver 更省时间,整件事折腾来回,本质就一句话:apt 只认你交给它的那串公钥,缺了哪个,补哪个。

Q&A:debian ubuntu没有公钥相关问题

Q:debian更新提示没有公钥怎么办会影响系统安全更新吗?
A:不会影响系统自带仓库的安全更新,apt 只是跳过缺少公钥的那个第三方源,deb.debian.org 或 archive.ubuntu.com 的更新仍然会正常进行,但如果缺少公钥的源里有 Nginx、Docker、Node.js 等你正在使用的软件,这部分安全补丁就拿不到,需要尽快补齐。

Q:ubuntu apt update 公钥缺失解决方法里 apt-key 还能用吗?
A:能用但不推荐。apt-key 在 Ubuntu 22.04 和 Debian 11 上仍然存在,执行后会警告已弃用,它会把 key 写入全局信任文件,时间长了容易弄不清楚哪个 key 对应哪个源,新装系统建议直接用 gpg --dearmor 把 key 放到 /usr/share/keyrings/,并在源文件里写 signed-by 路径。

Q:国内服务器 debian ubuntu 公钥导入一直失败是网络问题吗?
A:多数情况下是公共 keyserver 的连接问题,国内服务器访问 keyserver.ubuntu.com 经常超时,改用 hkp://keyserver.ubuntu.com:80 会好一些,更稳定的做法是直接从软件源官网下载 GPG key 文件,再导入到 /usr/share/keyrings/,如果软件源官网都连不上,说明网络链路本身就不适合该源,考虑换成国内镜像源。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/664629.html

赞 (0)
香港服务器租一年需要多少钱,香港服务器租用哪家便宜
上一篇 2026年9月18日 02:56
Web服务器应满足哪些要求?,如何选择稳定可靠方案
下一篇 2026年9月18日 02:57

相关推荐

  • Ecvps VPS终身8折送面板靠谱吗,怎么购买

    Ecvps的VPS终身8折优惠加上免费赠送的directadmin面板,在同价位产品中性价比相当突出,适合预算有限但需要稳定建站环境的个人站长和中小企业用户,ecvps怎么样:先说结论再看细节第一次听说Ecvps这个服务商,多数人第一反应是“没听过”,这很正常,国内VPS市场长期被阿里云、腾讯云这些大厂占据,小……

    2026年9月8日
    100
  • 国外知名域名注册商有哪些?国外域名注册商哪个好

    在构建海外业务或搭建国际化网站时,域名注册商的选择不仅关乎品牌资产的归属权,更直接影响网站的DNS解析稳定性与后续管理效率,面对众多服务商,如何筛选出既具备价格优势又拥有强大技术支撑的注册商,是每一位站长必须面对的课题,以下是基于实际运维经验、技术指标及市场反馈,对几家国外知名域名注册商的深度测评与推荐,Nam……

    2026年3月19日
    10800
  • Hive数据仓库OLAP是什么?Hive OLAP引擎选型

    Hive数据仓库的OLAP能力并非传统意义上的实时分析引擎,而是通过Hive on Tez/Spark或集成ClickHouse/Doris等现代MPP架构,实现海量历史数据的离线批处理与复杂多维分析,适合T+1或更低时效性的业务场景,很多人一听到“OLAP”(联机分析处理),脑海里浮现的往往是秒级响应的炫酷大……

    2026年7月6日
    18800
  • Kuroit VPS怎么样?新春特惠2.55英镑值得买吗

    随着2026年新春的到来,海外服务器市场迎来了一波极具竞争力的促销浪潮,对于追求极致性价比与网络稳定性的开发者、站长以及企业用户而言,Kuroit 此次推出的活动方案在同类产品中显得尤为突出,本次测评将深入剖析 Kuroit 新加坡、日本、美国及欧洲机房的 VPS 性能表现,并重点评测其高配置独立服务器的实际运……

    2026年2月26日
    17300
  • 国际互联网上采用的网络协议是什么,目前最常用的网络协议是哪个

    国际互联网上采用的核心网络协议是TCP/IP协议族,它作为全球数据交换的底层基石,通过分层架构与寻址机制,确保了异构网络间端到端的可靠互联互通,TCP/IP:国际互联网的底层中枢协议族的分层解构TCP/IP并非单一协议,而是一个协同工作的协议族,根据【计算机网络领域】2026年最新修订的标准化模型,其核心被划分……

    2026年4月24日
    9200
  • 弘速云美国PRO VPS三网优化套餐,电信联通移动三网如何?性价比如何?

    弘速云美国PRO VPS三网优化套餐深度测评:电信GIA+联通9929+移动CMIN2,极致回国体验核心优势一览:| 指标 | 电信GIA | 联通9929 | 移动CMIN2 | 硬件配置……

    2026年2月3日
    16700
  • 0WebHost美国VPS怎么样?7美元一年的便宜主机靠谱吗?

    在当前竞争激烈的IDC市场中,寻找一款既具备高性能又拥有极致性价比的美国服务器方案是许多站长的核心需求,0WebHost作为一家提供海外主机服务的商家,近期推出了针对2026年的重磅促销活动,其推出的7美元/年美国VPS、23美元/年1TB大硬盘服务器以及5美元/年虚拟主机,在低价位段提供了极具竞争力的配置选项……

    2026年2月24日
    19500
  • 如何实现DNS负载均衡以优化网络延迟,DNS负载均衡怎么配置?

    DNS 负载均衡:原理、策略与优缺点解析什么是 DNS 负载均衡?DNS 负载均衡是一种通过在域名解析阶段分发流量的技术,当用户尝试访问一个域名时,DNS 服务器不再仅仅返回一个固定的 IP 地址,而是根据预设的算法和策略,从一组可用的服务器 IP 列表中选择一个返回给客户端,其核心目标是将大量的访问请求均匀或……

    2026年7月13日
    2200
  • 国外网站用什么字体?国外网页常用字体有哪些

    在构建面向海外用户的网站时,字体选择不仅关乎视觉美学,更直接影响服务器性能、加载速度以及SEO排名,作为一名长期深耕服务器运维与前端性能优化的技术人员,我们曾对全球主流CDN节点下的字体渲染机制进行过数百次实测,以下是基于真实服务器环境与海外用户访问体验的深度测评,海外网站字体核心选择:系统字体堆栈在海外建站实……

    2026年3月17日
    11800
  • 国外的门户网站有哪些?全球知名门户网站大全推荐

    在构建跨境业务或进行海外网络访问时,选择优质的国外门户网站(即我们常说的海外数据中心服务商)是保障业务连续性的基石,作为一名长期深耕服务器基础设施测评的技术人员,我将基于实际测试数据与网络拓扑分析,对当前市场上主流的国外门户网站服务商进行深度测评,本次测评将重点围绕网络线路质量、硬件性能释放以及2026年度最新……

    2026年3月19日
    18400

发表回复

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