我遇到了一个难题:
# apt-get update
[... good lines omitted]
W: GPG error: http://backports.debian.org lenny-backports Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY AED4B06F473041FA
W: GPG error: http://http.us.debian.org stable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY AED4B06F473041FA
W: GPG error: http://ftp.us.debian.org lenny Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY AED4B06F473041FA
在http://wiki.debian.org/SecureApt#Other_problems它指出 NO_PUBKEY 问题“意味着档案已开始由新密钥签名,而您的系统对此并不知情……并且一旦系统输入新密钥(通过升级 debian-archive-keyring 包),警告就会消失”
好的,但是反常的是:
apt-get install debian-archive-keyring
给我:
WARNING: The following packages cannot be authenticated!
debian-archive-keyring
解决方案是apt-get 更新
有人能帮我打破这个循环吗?
--
注意:我的/etc/apt/sources.list
是:
deb http://ftp.us.debian.org/debian/ lenny main contrib non-free
deb http://http.us.debian.org/debian stable main contrib non-free
deb http://security.debian.org lenny/updates main contrib non-free
deb http://backports.debian.org/debian-backports lenny-backports main contrib non-free
答案1
有人能帮我打破这个循环吗?
您可以在很多地方下载各种档案的公钥,但它们通常不通过 HTTPS 提供,并且任何校验和文件都从同一位置提供。
你提供的那个 wiki 链接链接到https://ftp-master.debian.org/keys.html它提供了您可以通过 SSL 下载的密钥副本。当然,问题在于 ftp-master.debian.org 的证书是由 ca.debian.org 签名的,而大多数常见的 Web 浏览器都没有分发这个证书。
基本上,您只需要找到一种方法来获取 debian-archive-keyring 的副本,或者您信任的系统中当前的密钥,然后将其安装到您的系统上。如果您真的很偏执,您可能必须获取存档的副本,并让其他人从不同网络上的另一台计算机上的另一个镜像中获取副本。然后比较校验和。
如果您不是极度偏执,或者处于高度安全的环境中,那么只需apt-get install debian-archive-keyring
安装,并忽略警告。
有人需要花费大量精力才能在您和某个随机 http.us.debian.org 镜像之间建立 MITM。一旦他们这样做了,他们就必须构建自己的自定义 debian-archive-keyring 包,除了标准密钥外,还必须包含他们的邪恶密钥。然后,他们必须重建一些包来强迫您在系统上安装一些邪恶的东西。所涉及的努力不会是微不足道的。
Debian 通常能够很好地将用于将来对软件包进行签名的密钥添加到 debian-archive-keyring 软件包中。这是一个您真正想要保持最新的软件包。这样,您将在安装密钥用于签名之前对其进行签名,并且将来不会遇到此问题。
答案2
您的问题是您没有安装 debian-keyring。只需运行以下命令:
apt-get install debian-keyring
apt-get install debian-archive-keyring
就是这样。
答案3
Debian - Apt-get:NO_PUBKEY/GPG 错误
在基于使用 Linux 内核的 Debian 操作系统的计算机中,可能会出现“NO_PUBKEY”之类的错误消息。使用 Apt-Get 命令行工具时会发生这种情况,此错误与该工具的更新功能有关。Apt-Get 包管理工具中的新功能可在更新 Debian 操作系统之前保证服务器的真实性。这就是出现“NO_PUBKEY”错误的原因。输入适当的命令即可解决此问题。
只需输入以下命令,注意将下面的数字替换为错误消息中显示的键的数字:
gpg --keyserver pgpkeys.mit.edu --recv-key AED4B06F473041FA
gpg -a --export AED4B06F473041FA | sudo apt-key add -
答案4
apt-key adv --keyserver subkeys.pgp.net --recv-keys YOUR_KEY