我在本指南之后安装了elasticsearch,但是elasticsearch并不是这个问题的一部分。
在第一步中,我需要添加键:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -收到了以下信息:
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).安装过程很好,但是由于不推荐安装,所以我正在寻找替代apt-key的新用法。(我安装这个软件包没有问题。)从man apt-key我看到
apt键(8)将在Debian 11和Ubuntu 22.04中持续使用。 ..。 因此,与任何apt版本一起使用的二进制密钥环文件应该始终使用gpg -导出。
但它并没有提到替代apt-key add的方法。我试过了
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --export但没起作用。那么,当wget被移除时,在apt-key管道之后使用什么呢?
发布于 2022-03-07 16:16:28
向/etc/apt/trusted.gpg.d添加密钥是不安全的,因为它为所有存储库添加了密钥。这就是为什么要反对apt键的原因。
短版
做信号做的事。如果您想在https://example.com/EXAMPLE.gpg上使用/etc/apt/sources.list.d/EXAMPLE.list中列出的存储库的密钥,请使用:
wget -O- https://example.com/EXAMPLE.gpg |\
gpg --dearmor |\
sudo tee /usr/share/keyrings/EXAMPLE.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/EXAMPLE.gpg] https://example.com/apt stable main" |\
sudo tee /etc/apt/sources.list.d/EXAMPLE.list
# Optional (you can find the email address / ID using `apt-key list`)
sudo apt-key del support@example.com长版
虽然反对通知建议向/etc/apt/trusted.gpg.d添加密钥,但这是一个不安全的解决方案。引用这篇文章来自Linux起义
进行此更改的原因是,当添加用于将APT存储库签名到
/etc/apt/trusted.gpg或/etc/apt/trusted.gpg.d的APT密钥时,在没有signed-by选项的系统上配置的所有其他存储库上的APT都无条件地信任该密钥,甚至官方的Debian / Ubuntu存储库也是如此。因此,任何将其签名密钥添加到/etc/apt/trusted.gpg或/etc/apt/trusted.gpg.d中的非官方APT存储库都可以替换系统上的任何包。因此,此更改是出于安全原因(您的安全性)。
正确的解决方案将在Linux起义文章和Debian Wiki中解释:将密钥存储在/usr/share/keyrings/中,然后在apt源列表中引用键。
因此,适当的方法如下:
https://example.com/EXAMPLE.gpg下载密钥并将其存储在/usr/share/keyrings/EXAMPLE.gpg中。Debian wiki解释说,为了与旧的软件兼容,您应该解除密钥(即从base64转换为二进制)的护甲。> /dev/null只需阻止二进制键显示在终端中。wget -O- https://example.com/EXAMPLE.gpg \ gpg --de盔甲\ sudo tee /usr/share/keyring/EXAMPLE.gpg> /dev/null
还可以通过运行file /usr/share/keyrings/EXAMPLE.gpg和检查输出来验证您下载的文件确实是PGP密钥。/etc/apt/sources.list.d/中找到适当的文件并编辑它,使其链接到您刚才添加的键环。如果文件不存在,您可以创建一个文件。最后,它应该是这样的: deb签名-by=/usr/share/keyring/EXAMPLE.gpg https://example.com/apt稳定mainapt-key中删除它。运行sudo apt-key list列出所有键,并找到先前添加的键。使用密钥的电子邮件地址或指纹,运行sudo apt-key del support@example.com。其他资源
发布于 2021-09-01 14:09:12
在这里找到答案:https://suay.site/?p=526
简言之:
检索密钥并添加键:
curl -s URL | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/NAME.gpg --import授权用户_apt:
sudo chown _apt /etc/apt/trusted.gpg.d/NAME.gpg发布于 2022-06-08 06:58:07
正如在当前接受答案中提到的,向/etc/apt/trud.gpg.d添加密钥是不安全的,因为它为所有存储库添加了密钥。这就是为什么apt-key会发出警告。
您可以使用更简单的解决方案,如下所示:
curl -fsSL https://example.com/EXAMPLE.gpg | sudo gpg --dearmor -o /usr/share/keyrings/EXAMPLE.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/EXAMPLE.gpg] \
https://example.com/apt stable main" \
| sudo tee -a /etc/apt/sources.list.d/EXAMPLE.list > /dev/null
sudo apt update
sudo apt install <package-name>https://stackoverflow.com/questions/68992799
复制相似问题