Debian。如何安全地获得 debian-archive-keyring,以便我可以进行 apt-get 更新?NO_PUBKEY

Dav*_*ock 17 debian public-key apt

我有一个捕获 22 试图:

   # 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
Run Code Online (Sandbox Code Playgroud)

http://wiki.debian.org/SecureApt#Other_problems 上,它指出 NO_PUBKEY 问题“意味着存档已开始由新密钥签名,您的系统不知道该密钥......一旦系统被输入新密钥(通过升级 debian-archive-keyring 软件包),警告将消失”

好的,但有悖常理:

   apt-get install debian-archive-keyring 
Run Code Online (Sandbox Code Playgroud)

给我:

   WARNING: The following packages cannot be authenticated!
       debian-archive-keyring
Run Code Online (Sandbox Code Playgroud)

解决方案是进行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
Run Code Online (Sandbox Code Playgroud)

Zor*_*che 14

谁能帮我打破这个循环?

你基本上是刚刚经历的标准引导问题公钥加密

有很多地方可以下载各种档案的公钥,但它们通常不是通过 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 软件包中。这是一个包,您确实希望保持最新状态。这样,您将在用于签名之前安装的密钥键入密钥,并且将来不会遇到此问题。


小智 13

你的问题是你没有安装 debian-keyring 。只需运行以下命令:

apt-get install debian-keyring
apt-get install debian-archive-keyring
Run Code Online (Sandbox Code Playgroud)

就是这样。

  • `debian-keyring` 与安装软件包[无关](https://serverfault.com/a/960837/162443)。 (3认同)

Cha*_*ara 5

Debian - Apt-get : NO_PUBKEY / GPG 错误

在基于使用 Linux 内核的 D​​ebian 操作系统的计算机中,可能会出现类似“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 -
Run Code Online (Sandbox Code Playgroud)