这是我发送的电子邮件的编辑副本,为APT-key的用户提供指导,即如何处理帖子关键世界中的事物。 手动页面已经提供了更换APT-key添加使用所需的所有信息: 注意:而不是使用此命令,键控应直接放在带有描述性名称的/etc/pt/trusted.gpg.d/目录中,并将“gpg”或“asc”作为文件扩展名 因此,有点令人惊讶的人需要一步一步一步地将文件复制/下载到目录中。 我还将讨论替代安全的蜗牛方法,符合这变得流行。 也许我们不应该添加签名,人们似乎忘记了DEBS仍然以root身份运行维护者脚本。 除此之外,Debian用户应该查找Extropo,为您管理策划的外部存储库。 较旧的(和所有)版本只支持扩展名为.gpg的unwormored文件。 如果您关心它们,请提供一个,并使用
有些人会告诉你下载.asc和管道它到gpg --dearmor,但是GPG可能无法安装,所以真的,只需提供一个.gpg一个,而是支持所有系统的支持。
人们说,不使用trusted.gpg.d并在其他地方安装文件,然后从源代码。使用符号=<文件>文件>文件>所以这看起来很安全,因为现在你的密钥无法签署其他不相关的存储库。志愿者,安全性增加是最小的,因为包维护者脚本无论如何都可以作为root。但我想这更好的宣传:)
作为一个例子,以下是从信号.org安装信号桌面的说明。如上所述,GPG --dearmor在没有一个好主意,我个人不会告诉人们修改/ usr,因为它应该由包管理器管理,但我们没有/ etc / apt / keyrings目前或类似的;如果包装安装键控,则很好。您也可以只添加那里的文件作为起点,然后安装keyring包覆盖它(假装下面有一个信号桌面键控包,它会覆盖我们添加的.gpg)。
#注意:这些说明仅适用于64位Debian的#Linux发行版,例如Ubuntu,Mint等。#1.安装我们的官方公共软件签名keywget -o-https://updates.signal.org/desktop/apt/ keys.asc | gpg --dearmor> signal-desktop-keyring.gpgcat信号 - 桌面-keyring.gpg | sudo tee -a /usr/share/keyrings/signal-desktop-keyring.gpg> / dev / null#2.将我们的存储库添加到RepositieseCho' deb [arch = amd64签名= / usr / share / keyrings / signt-desktop-keyring.gpg] https://updates.signal .org /桌面/ apt Xenial Main' | \ sudo tee-a /etc/apt/sources.list.d/signal-xenial.list# 3.更新您的包数据库并安装Scnersudo APT更新&& sudo apt安装信号桌面
我想知道为什么他们做wget | gpg --dearmor,管道进入文件然后猫| sudo t恤它,而不是在一个管道中拥有这一切。也许他们想要更好的进度报告。
对于系统图像构建,在/etc/apt/trusted.gpg.d中运送密钥似乎是合理的;你是供应商的类型,所以它可以全局信任。
Chrome风格的DEBS和Repository Config DEBS:如果您发出DEB,则嵌入Sources.List.d Scippet(调用它$ MyRepo.List)并运送$ MyRepo.gpg IN / USR / Share / Keyrings是最好的方法。无论您是在产品中发货,还是提供存储库配置DEB(让我们调用它myRepo-repo.deb),然后告诉人们运行APT更新,后跟APT安装< repo&gt内部包装。我猜,取决于仓库中的包数量。
手动说明(信号样式):第三种情况,您告诉别人自己运行Wget,我发现棘手。我们在信号中看到,只是将钥匙圈文件填充到/ usr / share / keyrings是流行的,尽管/ usr应该是由包管理器管理。我们没有内部/ etc / etc(或/ usr / local)的另一个程序,因此很难建议其他东西。实际上没有签名的额外工作没有显着的好处,所以这是额外的工作不过,收获很少。
这部分是新的,只是为了这个博客帖子。让我们来看看即将到来的变化以及它们如何让事情变得更加容易。
假设我得到了合并的合并请求,APT的下一个版本(2.4 / 2.3.something)将消除所有复杂性,并允许您将密钥直接嵌入DEB822 .Sources文件(现在已在某个时间可用):
类型:deburis:https://myrepo.example/ https://myotherrepo.example/suites:stable not-so-stablecomponents:mainsigned-by:--------------------------------------------------------------------------------------------------------------------------------------------------------------开始PGP公钥块-----。 mDMEYCQjIxYJKwYBBAHaRw8BAQdAD / P5Nvvnvk66SxBBHDbhRml9ORg1WV5CvzKY CuMfoIS0BmFiY2RlZoiQBBMWCgA4FiEErCIG1VhKWMWo2yfAREZd5NfO31cFAmAk IyMCGyMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQREZd5NfO31fbOwD6ArzS dM0Dkd5h2Ujy1b6KcAaVW9FOa5UNfJ9FFBtjLQEBAJ7UyWD3dZzhvlaAwunsk7DG 3bHcln8DMpIJVXht78sL = IE0r ----- END PGP PUBLIC KEY BLOCK -----
然后,您只能为用户提供.osources文件,他们将其放入“sources.list.d”,并且一切都神奇地工作
嗯,Python-APT的安全源包仍然不支持Deb822来源,无论如何,我们都需要一个aptsources2,以便为倒退 - 兼容性原因,然后端口软件属性和其他用户。
我们在使用ED25519Keys签署释放文件的作品中,我们确实可以更好地更换GPG。它暂时命名为aptsign,但它是一个单章deb822文件的概括性程序,类似于表示/ miniSign。
我们认为,这解决了我们OpenPGP集成的安全性噩梦,同时降低了复杂性。 键短得多,所以上面的遗工文件看起来很好。