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


16

我有一个陷阱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

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
如果您想坚持使用lenny,则应stablelenny上用替换http.us.debian.org。您当前的source.list可能会导致系统损坏。如果要升级以压缩,则应替换所有stable/lenny引用,并使用squeeze
Zoredache

Answers:


13

谁能为我打破循环?

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

您可以在许多地方下载各种档案的公共密钥,但是通常它们不是通过HTTPS提供的,任何校验和文件都是从同一位置传送的。

您提供的那个Wiki链接指向https://ftp-master.debian.org/keys.html的链接,其中提供了可通过SSL下载的密钥的副本。当然,问题在于ftp-master.debian.org的证书是由ca.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软件包中,这些密钥将在以后用于对软件包进行签名。那是一个包,您确实要保持最新。这样,您将在安装密钥之前对它们进行签名,这样以后您就不会再遇到这个问题了。


是的,由于SSL证书签名者不受信任,Chrome给了我一个很大的警告。叹。
David Bullock

1
PS.FYI 我当前用于挤压签名密钥的指纹是,0E4E DE2C 7F3E 1FC0 D033 800E 6448 1591 B983 21F9而lenny是7F5A 4445 4C72 4A65 CBCD 4FB1 4D27 0D06 F425 84E6
Zoredache

好吧,我的假设敌人很有影响力,所以ftp-master.debian.org的SSL证书没有被我的浏览器开箱即用的受感染CA之一签名并不重要。所以我得到了Moxie Marlinspike的Firefox融合插件。至少我认为我做到了-他毫不费力地签署了我安装的加载项,并且在我安装它时Firefox崩溃了。我不知道默认的公证服务器是否可靠,但是他们似乎同意关键网站与我正在寻找的网站相同。但是可能我的敌人已经妥协了Debian。所以,我继续。
大卫·布洛克

感谢您的指纹。无论如何,对还是错,我都相信一个愿意放弃时间帮助陌生人的人。
大卫·布洛克

1
如果您不喜欢从存档中获取它们,则可以从mit pgp密钥数据库中获取它们。 http://pgp.mit.edu:11371/pks/lookup?search=Wheezy+Stable+Release+Key&op=index
Zoredache

10

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

apt-get install debian-keyring
apt-get install debian-archive-keyring

而已。


我可以确认这项工作
aexl

debian-keyring没有做与安装软件包。
x-yuri

5

Debian-Apt-get:NO_PUBKEY / GPG错误

在基于使用Linux内核的Debian操作系统的计算机上,可能会出现类似“ NO_PUBKEY”的错误消息。这是在使用Apt-Get命令行工具时发生的,并且此错误与该工具的更新功能有关。Apt-Get软件包管理工具中的新功能可确保在更新Debian OS之前服务器的真实性。这就是错误“ NO_PUBKEY”弹出的原因。可以通过键入适当的命令来解决此问题。

只需键入以下命令,注意将下面的数字替换为错误消息中显示的密钥:

gpg --keyserver pgpkeys.mit.edu --recv-key  AED4B06F473041FA      
gpg -a --export AED4B06F473041FA | sudo apt-key add -

我已经尝试了上述解决方案,这对我有用。解决了这个问题。
Chaminda Bandara'3

4

两件事情:

  1. 您的sources.list文件可能不正确;您确定这些是适用于这些回购的行吗?

  2. 您必须在这些存储库上手动找到Release.gpg文件,并更新密钥环:

wget -q http://backports.debian.org/debian-backports/dists/squeeze-backports/Release.gpg -O -|apt-key add -

您可能通过将lenny与稳定的repo混合来玩火


我不确定#1。我在spinifex.com.au/plugs/dphowtos.html#debian上按照说明进行操作,但是“ deb backports.org/debian lenny-backports main contrib non-free”这一行给出了下载错误,因此盲目地关注backports-master.debian .org /说明我将其更改为“ deb backports.debian.org/debian-backports squeeze-backports main”。现在,我将其作为“ deb backports.debian.org/debian-backports lenny-backports main contrib non-free” ...更好吗?(我讨厌玩火)。仍然获得“ NO_PUBKEY”,因此您将排名第二。
大卫·布洛克

1
apt-key adv --keyserver subkeys.pgp.net --recv-keys YOUR_KEY

1

正确的做法是不必担心将密钥安全地获得到您的计算机,而一旦将密钥放在计算机上就能够准确地检查对密钥的信任路径。这意味着您想找到一个签名链,其中的gpg密钥用于对某人的密钥进行签名,而该签名曾用于对某人的密钥进行签名...,以便最终找到某人对存档密钥进行了签名。

如果您距离钥匙只有几步之遥,那么如果您尝试手动执行此操作显然将很乏味。wotsap是一个软件包,它将帮助您发现从密钥到直接签署存档密钥的人员的密钥之间的路径。

这一切都取决于您拥有一个gpg密钥并参与gpg密钥签名,如果您想真正正确地执行此操作,这是绝对必要的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.