什么是 Ubuntu 下的存储库密钥,它们是如何工作的?

Ach*_*chu 35 repository

大多数情况下,只需添加一个软件包存储库,您就可以在没有存储库密钥的情况下下载和安装软件包。此外,一些存储库在其信息旁边显示其密钥,因此很容易找到。但

  • 如果我们可以在没有它们的情况下安装软件包,为什么我们需要添加密钥?
  • 它们在 Ubuntu 下是如何工作的?

Ach*_*chu 30

我从Ubuntu Community Help Wiki找到了一个很好的解释。

“认证密钥”通常从软件存储库的维护者处获得。维护者通常会将身份验证密钥的副本放在公共密钥服务器上,例如 www.keyserver.net。然后可以使用该命令检索密钥。

身份验证

Apt-get 包管理使用公钥加密来验证下载的包。

  • Debian 在这个 wiki 页面上很好地解释了 Secure apt。

以下是从 Debian 的 wiki 页面收集的密钥获取和验证过程的简短摘要。

基本概念 公钥密码术基于密钥对 a public key和 a private key。在public key被赋予了世界; 在private key必须保持秘密。任何拥有公钥的人都可以加密消息,以便只有拥有私钥的人才能阅读。也可以使用私钥对文件进行签名,而不是对其进行加密。如果使用私钥对文件进行签名,则拥有公钥的任何人都可以检查文件是否由该密钥签名。没有私钥的人无法伪造这样的签名。

gpg(GNU Privacy Guard)是用于安全 apt 文件签名和检查签名的工具。

apt-key 是一个程序,用于管理安全 apt 的 gpg 密钥的密钥环。钥匙圈保存在文件中/etc/apt/trusted.gpg (不要与相关但不是很有趣的东西混淆 /etc/apt/trustdb.gpg)。apt-key 可用于显示密钥环中的密钥,以及添加或删除密钥。

每次向 中添加另一个 apt 存储库时/etc/apt/sources.list,如果您希望 apt 信任它,还必须提供 apt 的密钥。获得密钥后,您可以通过检查密钥的指纹来验证它,然后用您的私钥对该公钥进行签名。然后,您可以将密钥添加到 apt 的密钥环中apt-key add <key>

  • 我可以给这个点赞一百次吗?:)谢谢阿楚!! (2认同)

Rob*_*ans 13

您需要存储库密钥,以便您可以验证您从您认为是从哪个人那里获得的包。

这是为了防止人们将不良软件包注入您的更新中。

您应该尽可能添加存储库密钥。