运维系列(亲测有效):Ubuntu解决签名失效问题(二仅适用18.04、20.04)Key is stored in legacy trusted.gpg keyring (/etc/apt/trus

435 篇文章 ¥129.90 ¥299.90




一. 进入容器执行apt update 报错解决

进入容器执行apt update 描述

在centos 上安装了docker,然后启动了一个ubuntu 类型的容器,执行apt update 时报错

1、错误:

The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 3B4FE6ACC0B21F32

2、原因:

更换三方源没有对应的Key

3、解决:

直接执行如下命令,比如我没有 3B4FE6ACC0B21F32,就需要执行

sudo apt-key adv --keyserver keyserver.ubuntu.com 
<think>好的,我现在需要帮用户解决在Kali Linux中使用USTC镜像时遇到的APT密钥过时警告问题。首先,用户提到的是关于apt-key已被弃用,并且密钥存储在旧的trusted.gpg密钥环中的警告。我需要回忆一下APT包管理器中关于密钥管理的变更。 APT在较新版本中开始推荐使用signed-by方式指定密钥,而不是将密钥直接添加到trusted.gpg中。这是因为将密钥添加到trusted.gpg会信任该密钥对所有仓库的签名,存在安全风险。现在推荐每个仓库使用自己的密钥,并通过signed-by指向特定的密钥文件。 接下来,用户使用的是USTC镜像源,可能是在sources.list中配置了该镜像,但相关的密钥还是用旧的apt-key add方法添加的。需要检查用户的源配置,看看是否已经使用了signed-by参数。如果没有的话,需要指导用户如何将现有的密钥迁移到新的方法。 处理步骤可能包括:首先,找到当前USTC镜像的GPG密钥,可能需要从USTC的文档中获取正确的密钥ID或者直接下载密钥文件。然后,将现有的密钥从trusted.gpg.d中导出,保存为单独的文件,比如ustc.gpg。接着,修改sources.list中的仓库条目,添加signed-by=/usr/share/keyrings/ustc.gpg,并将密钥文件移动到指定位置。最后,删除旧的密钥,更新APT缓存。 需要注意的是,Kali Linux基于Debian,所以步骤应该和Debian相似。用户之前可能使用过类似下面的命令添加密钥: sudo apt-key add keyfile.asc 现在需要替换这部分操作为将密钥保存到/usr/share/keyrings/目录,并使用signed-by参数引用。同时,要确保文件权限正确,避免其他用户可写。 可能遇到的问题包括:用户不确定密钥的具体位置,或者sources.list中没有正确配置signed-by。需要指导用户如何查找现有密钥,可能需要通过apt-key list来查看已添加的密钥,然后导出对应的密钥。 另外,用户可能使用的是USTC的镜像,但USTC的文档可能已经更新了如何配置仓库和密钥,所以建议用户查阅USTC的官方帮助页面,确认最新的配置方法。例如,某些镜像源可能已经提供了带有signed-by的源条目,直接复制即可。 总结步骤应该是: 1. 导出现有USTC镜像的GPG密钥到单独文件。 2. 将密钥文件移动到/usr/share/keyrings/目录。 3. 修改sources.list中的仓库条目,添加signed-by参数指向新位置。 4. 删除旧的密钥。 5. 更新APT试。 同时,需要提醒用户操作前备份现有的sources.list文件,避免配置错误导致无法更新软件包。 最后,生成相关问题的时候,要考虑用户可能遇到的后续问题,比如其他仓库的类似警告处理,或者如何验证密钥的正确性等。</think>### 解决APT密钥过时警告的方法 在Kali Linux中,`apt-key`命令已被标记为弃用,建议改用更安全的密钥管理方式。以下是具体操作步骤: --- #### **1. 导出现有密钥** 首先查看当前已添加的USTC镜像密钥ID: ```bash sudo apt-key list ``` 找到USTC镜像对应的密钥ID(例如`ABCD1234`),然后导出密钥: ```bash sudo apt-key export ABCD1234 | sudo gpg --dearmour -o /usr/share/keyrings/ustc.gpg ``` --- #### **2. 修改镜像源配置** 编辑APT源文件`/etc/apt/sources.list`或`/etc/apt/sources.list.d/ustc.list`,在仓库链接后添加`signed-by`参数: ```bash deb [arch=amd64 signed-by=/usr/share/keyrings/ustc.gpg] https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib ``` --- #### **3. 删除旧密钥** 移除已弃用的密钥存储方式: ```bash sudo apt-key del ABCD1234 # 替换为实际密钥ID ``` --- #### **4. 更新APT缓存** ```bash sudo apt update ``` --- #### **关键说明** - 密钥文件必须存放在`/usr/share/keyrings/`目录,文件名后缀建议用`.gpg`。 - `signed-by`参数需与密钥文件路径严格对应[^1]。 - 操作前建议备份源文件:`sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坦笑&&life

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值