apt-key add 不能用了?别慌,给你讲讲新方法
apt-key add 不能用了?别慌,给你讲讲新方法
在Linux系统中,apt-key add 曾经是管理软件包签名密钥的常用命令。然而,随着Debian和Ubuntu等发行版的更新,apt-key add 命令已经不再推荐使用,甚至在某些情况下可能导致安全问题。本文将为大家详细介绍apt-key add 不能用了的原因,以及如何在新环境下正确管理软件包签名密钥。
为什么apt-key add不能用了?
apt-key add 命令的主要问题在于它将所有添加的密钥都存储在系统的全局密钥环中,这意味着任何用户都可以添加密钥,从而可能引入不受信任的软件源,导致系统安全性降低。Debian和Ubuntu社区为了提高系统的安全性,决定弃用这个命令,转而推荐更安全的管理方式。
新方法:使用apt-key的替代方案
-
使用gpg命令添加密钥: 现在推荐使用gpg命令来管理密钥。例如,要添加一个新的密钥,可以使用以下命令:
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/mykey.gpg --keyserver keyserver.ubuntu.com --recv-keys <KEY_ID>
然后在
/etc/apt/sources.list.d/
目录下创建一个新的源文件,引用这个密钥环:deb [signed-by=/usr/share/keyrings/mykey.gpg] http://example.com/debian stable main
-
使用apt的内置功能: 对于Ubuntu 20.04 LTS及更高版本,可以直接在源文件中使用
[signed-by]
选项来指定签名密钥:deb [signed-by=/usr/share/keyrings/mykey.gpg] http://example.com/ubuntu focal main
应用场景
- 第三方软件仓库:许多第三方软件提供商会提供自己的签名密钥,使用新方法可以确保这些密钥的安全性。
- 企业内部仓库:企业内部的软件仓库也需要安全的密钥管理,以防止未经授权的软件安装。
- 个人项目:个人开发者在发布软件时,也可以使用这种方法来确保用户能够安全地安装软件。
如何迁移现有的apt-key
如果你已经使用了apt-key add添加了密钥,可以通过以下步骤迁移:
-
导出现有密钥:
sudo apt-key export <KEY_ID> | gpg --dearmor > /usr/share/keyrings/mykey.gpg
-
更新源文件: 在
/etc/apt/sources.list.d/
目录下的源文件中,添加[signed-by=/usr/share/keyrings/mykey.gpg]
选项。
总结
apt-key add 命令的弃用是Linux社区为了提高系统安全性而做出的重要决定。虽然这可能给一些用户带来不便,但通过使用gpg命令和apt的内置功能,我们可以更安全地管理软件包签名密钥。希望本文能帮助大家理解apt-key add 不能用了的原因,并顺利过渡到新的密钥管理方式。记住,安全性永远是第一位的,及时更新和学习新的技术是每个Linux用户的必修课。