开发者

如何解决Kali Linux APT更新中的GPG签名错误问题

目录
  • 问题背景
  • 错误原因
  • 解决步骤
    • 1. 检查软件源配置
    • 2. 导入最新 GPG 密钥
    • 3. 安装 kali-archive-keyring 包
    • 4. 清理 APT 缓存
    • 5. 测试更新与升级
    • 6. 检查网络(若仍失败)
  • 预防措施
    • 常见问题
      • 总结

        问题背景

        Kali linux 使用 APT 包管理器javascript从官方软件源(如 http.kali.org)获取软件包和更新。

        为了确保下载内容的安全性,Kali 的软件源使用 GPG 签名验证。然而,如果系统缺少正确的公钥或软件源配置有误,APT 会拒绝更新,抛出类似以下的错误:

        Err:1 http://kali.download/kali kali-rolling InRelease

          Sub-process /usr/bin/sqv returned an error code (1), error message is: Missing key 827C8569F2518CC677FECA1AED65462EC8D5E4C5

        W: GPG error: http://kali.download/kali kali-rolling InRelease: Sub-process /usr/bin/sqv returned an error code (1)

        E: The repository 'http://http.kali.org/kali kali-rolling InRelease' is not signed.

        这个错误表明 APT 无法验证软件源的签名,可能是因为缺少密钥或配置问题。

        别担心,下面我们一步步解决!

        错误原因

        GPG 签名错误的常见原因包括:

        1. 缺失或过期的 GPG 密钥:Kali 定期更新其签名密钥(如 2025 年 4 月的密钥变更),但你的系统未同步最新密钥。
        2. 软件源配置错误/etc/apt/sources.list 中的源地址可能是非官方镜像或格式错误。
        3. 密钥环包损坏kali-archive-keyring 包缺失或版本过旧。
        4. 网络问题:无法下载密钥或元数据。
        5. 缓存问题:APT 缓存可能包含损坏的元数据。

        解决步骤

        以下是修复 GPG 签名错误的详细步骤,按顺序执行,建议在终端中仔细检查每一步的输出。

        1. 检查软件源配置

        确保使用官方 Kali 软件源,避免非官方镜像导致的签名问题。

        打开软件源配置文件:

        sudo nano /etc/apt/sources.list

        确保包含以下行(官方 kali-rolling 源):

        deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware

        删除或注释(加 #)非官方源(如 http://kali.download/kali)。保存并退出(Ctrl+OEnterCtrl+X)。

        2. 导入最新 GPG 密钥

        错误提示缺少密钥 827C8569F2518CC677FECA1AED65462EC8D5E4C5,我们需要手动导入。

        • 下载官方密钥环文件:
        wget https://archive.kali.org/archive-keyring.gpg
        • 导入密钥到 APT:
        sudo mv archive-keyring.gpg /usr/share/keyrings/kali-archive-keyring.gpg
        • 清理临时文件:
        rm archive-keyring.gpg
        js
        • 提示:如果系统较旧,可尝试旧方法:
        sudo apt-key add archive-keyring.gpg

        3. 安装 kali-archive-keyring 包

        Kali 提供的 kali-archive-keyring 包包含所有官方密钥,安装或更新此包可一劳永逸。

        • 1.尝试安装:
        sudo apt update --allow-insecure
        sudo apt install -y kali-archive-keyring

        --allow-insecure 临时绕过签名验证,仅用于此步骤。

        • 2.如果失败,手动下载并安装最新包:
        wget https://http.kali.org/kali/pool/main/k/kali-archive-keyring/kali-archive-keyring_2024.1_all.deb
        sudo dpkg -i kali-archive-keyring_2024.1_all.deb
        • 检查 Kali 软件池 获取最新版本。
        UbjAO

        4. 清理 APT 缓存

        损坏的缓存可能干扰更新,清理后重试。

        sudo apt clean
        sudo apt autoclean
        sudo apt update

        5. 测试更新与升级

        验证修复效果:

        sudo apt update
        sudo apt upgrade -y

        如果更新成功,你将看到软件源元数据正常获取,无 GPG 错误。

        6. 检查网络(若仍失败)

        网络问题可能导致密钥下载失败。

        • 测试连接:
        ping http.kali.org
        • 配置 DNS:
        sudo nano /etc/resolv.conf

        添加:

        nameserver 8.8.8.8
        nameserver 8.8.4.4

        预防措施

        为了避免未来再次遇到 GPG 错误,建议:

        定期更新系统

        sudo apt update && sudo apt upgrade -y

        关注官方公告:Kali 可能更换密钥,检查 Kali 博客 或官方 X 账号。

        备份配置:在修改 /etc/apt/sources.list 前备份。

        使用官方源:避免非官方镜像,优先使用 http.kali.org

        常见问题

        密钥下载失败怎么办?

        • 检查网络,或从 Kali 官网 手动下载 .deb 包。
        • 使用 USB 传输到系统安装。

        提示密钥 ID 不匹配?编程客栈

        • 删除旧密钥:
        sudo apt-key del 827C8569F2518CC677FECA1AED65462EC8D5E4C5

        重新导入官方密钥。

        仍无法更新?

        尝试其他官方镜像(如 http://mirror.kali.org/kali)。

        • 检查系统版本:
        cat /etc/os-release

        确保运行最新 Kali(如 2025.1a)。

        总结

        GPG 签名错误是 Kali Linux 更新中的常见问题,通常由缺失密钥或错误源配置引起。

        通过检查 /etc/apt/sources.list、导入最新密钥和安装 kali-archive-keyrinphpg,你可以快速解决问题。

        保持系统更新和使用官方源是避免类似错误的关键。

        参考资源

        • Kali Linux 官方文档
        • Kali 论坛

        以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

        0

        上一篇:

        下一篇:

        精彩评论

        暂无评论...
        验证码 换一张
        取 消

        最新运维

        运维排行榜