Debian的。 我如何安全地得到debian-archive-keyring,以便我可以做一个apt-get更新? NO_PUBKEY

我有一个捕获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 

解决scheme是做一个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 

任何人都可以打破我的循环?

你基本上只是遇到了公钥密码学的标准引导问题 。

有许多地方可以下载各种档案的公钥,但是通常不会通过HTTPS提供,而且任何校验和文件都是从相同的位置传送的。

您提供的维基链接已链接至https://ftp-master.debian.org/keys.html ,其中提供了可通过SSL下载的密钥副本。 当然问题是,ftp-master.debian.org的证书是由ca.debian.org签署的,这个证书并不是最常用的网页浏览器。

你基本上只需要find一个方法来获得一个debian-archive-keyring的副本,或者从你信任的系统中获得当前密钥,然后把它安装到你的系统上。 如果你确实是偏执的人,你可能需要抓取一份存档的副本,并让其他人从另一台计算机的另一台镜像上通过另一个networking抓取一份副本。 然后比较校验和。

如果你不是非常偏执,或者在一个高度安全的环境下,那么只要apt-get install debian-archive-keyring ,并且忽略这个警告。

在你和一些随机的http.us.debian.org镜像之间build立一个MITM需要花费很多精力。 一旦他们这样做,他们将不得不build立自己的定制debian-archive-keyring软件包,包括除了标准密钥之外的邪恶密钥。 然后他们将不得不重build一些软件包来强制你在你的系统上安装一些邪恶的东西。 所涉及的努力不会是微不足道的。

Debian通常会做一个相当不错的工作,将未来用于签署软件包的密钥添加到debian-archive-keyring软件包中。 这是一个包,你真的想保持最新。 那样的话,你将在安装密钥之前把它们安装在键盘上,这样以后你就不会有这个问题了。

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

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

而已。

两件事情:

  1. 你的sources.list文件可能不正确; 你确定这些回购渠道是正确的吗?

  2. 您必须在这些仓库中手动findRelease.gpg文件并更新密钥环:

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

lenny和stable repo混合在一起可能会玩火

Debian – Apt-get:NO_PUBKEY / GPG错误

在基于使用Linux内核的Debian操作系统的计算机中,错误消息可能会出现,如“NO_PUBKEY”。使用Apt-Get命令行工具时发生这种情况,并且此错误与工具的更新function相关联。 在更新Debian OS之前,Apt-Get软件包pipe理工具中的新function保证了服务器的真实性。 这就是为什么popup错误“NO_PUBKEY”。 这个问题可以通过键入适当的命令来解决。

只需input以下命令,注意将下面的数字replace为错误消息中显示的键的数字:

 gpg --keyserver pgpkeys.mit.edu --recv-key AED4B06F473041FA gpg -a --export AED4B06F473041FA | sudo apt-key add - 
 apt-key adv --keyserver subkeys.pgp.net --recv-keys YOUR_KEY 

正确的做法是不用担心安全地获取机器的密钥,但是一旦在机器上拥有密钥,就能够准确地检查您对密钥的信任path。 这意味着你想find一个签名链,在那里你的gpg密钥被用来签署用来签署某个人的密钥的人的密钥……这样你最终可以find签署了密钥的人。

这显然是乏味的,如果你试图用手做这个,如果你远离关键几步之遥。 wotsap是一个包,它可以帮助你发现你的密钥到直接签名存档密钥的人的密钥。

这一切都是基于你有一个gpg密钥,并参与gpg keysigning,这是绝对必要的,如果你想真正做到这一点。