⚠️ 问题原因

Kali Linux 团队于 2025 年 4 月 意外丢失对旧仓库签名密钥的访问权限(非泄露),导致用户执行 sudo apt update 时出现以下错误 1

🔑 更新步骤

wget 和 curl 两种方式选一种你喜欢的就可以

wget 方式

┌──(kali㉿kali)-[~]
└─$ sudo wget https://archive.kali.org/archive-keyring.gpg -O /usr/share/keyrings/kali-archive-keyring.gpg

curl 方式

┌──(kali㉿kali)-[~]
└─$ sudo curl https://archive.kali.org/archive-keyring.gpg -o /usr/share/keyrings/kali-archive-keyring.gpg

可以使用 sha1sum 测试你下载密钥是否正确,想省事点话看最后 5 位就好,确认是否为 fc325

┌──(kali㉿kali)-[~]
└─# sha1sum /usr/share/keyrings/kali-archive-keyring.gpg
603374c107a90a69d983dbcb4d31e0d6eedfc325  /usr/share/keyrings/kali-archive-keyring.gpg

也可以仔细查看一下已存在的密钥,它包含旧签名密钥(ED444FF07D8D0BF6)和新签名密钥(ED65462EC8D5E4C5

┌──(kali㉿kali)-[~]
└─$ gpg --no-default-keyring --keyring /usr/share/keyrings/kali-archive-keyring.gpg -k
/usr/share/keyrings/kali-archive-keyring.gpg
--------------------------------------------
pub   rsa4096 2025-04-17 [SC] [expires: 2028-04-17]
      827C8569F2518CC677FECA1AED65462EC8D5E4C5
uid           [ unknown] Kali Linux Archive Automatic Signing Key (2025) <devel@kali.org>

pub   rsa4096 2012-03-05 [SC] [expires: 2027-02-04]
      44C6513A8E4FB3D30875F758ED444FF07D8D0BF6
uid           [ unknown] Kali Linux Repository <devel@kali.org>
sub   rsa4096 2012-03-05 [E] [expires: 2027-02-04]

输出说明:

密钥类型 密钥 ID 有效期 用途
新密钥 827C8569F2518CC677FECA1AED65462EC8D5E4C5 2025-2028 当前仓库签名
旧密钥 44C6513A8E4FB3D30875F758ED444FF07D8D0BF6 2012-2027 历史包验证

随后你就可以正常 apt update

┌──(kali㉿kali)-[~]
└─# sudo apt update
[...]
68 packages can be upgraded. Run 'apt list --upgradable' to see them.

⚡️ 注意事项

密钥安全性

  • 旧密钥未泄露,仍保留在新密钥环中以验证历史包,但将逐步淘汰 36

全新安装用户

  • 2025.1c 及之后的镜像(含 Docker/WSL 版本)已预装新密钥,无需手动操作 14

备用方案

  • 若上述步骤无效,可尝试传统密钥添加命令(不推荐):

    bash

    wget -q -O - https://archive.kali.org/archive-key.asc | sudo apt-key add
    ```:cite[2]:cite[7]

🧸参考文献

A New Kali Linux Archive Signing Key | Kali Linux Blog