当前位置:首页 > Linux > 正文

Linux源公钥怎样安装?

获取公钥文件后,使用 apt-key add(Debian/Ubuntu)或 rpm --import(CentOS/RHEL)命令导入,确保公钥来源可信且拥有sudo权限。

在Linux系统中,源公钥(Repository GPG Key)用于验证软件包的完整性和来源真实性,防止反面改动,安装公钥是安全使用第三方软件源的关键步骤,以下是详细操作指南:


公钥安装前的准备

  1. 获取公钥文件

    • 从软件源官网下载公钥(通常扩展名为 .asc.gpg),
      wget -O- https://example.com/repo/key.gpg > key.asc
    • 或直接复制公钥字符串(以 -----BEGIN PGP PUBLIC KEY BLOCK----- 开头)。
  2. 确认系统权限
    需拥有 sudo 权限执行关键命令。


推荐安装方法(适用于现代系统)

方法1:将公钥复制到 /etc/apt/trusted.gpg.d/(Debian/Ubuntu)

# 下载公钥并复制到目标目录
sudo wget -O /etc/apt/trusted.gpg.d/<密钥名>.gpg https://example.com/repo/key.gpg
# 示例:安装Docker公钥
sudo wget -O /etc/apt/trusted.gpg.d/docker.gpg https://download.docker.com/linux/ubuntu/gpg

方法2:使用 gpg 手动导入(通用)

# 下载公钥
curl -fsSL https://example.com/repo/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/<自定义名>.gpg
# 示例:安装Kubernetes公钥
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /usr/share/keyrings/kubernetes.gpg

传统方法(不推荐,仅兼容旧系统)

使用已弃用的 apt-key(Debian/Ubuntu ≤ 20.04)

# 直接添加公钥
sudo apt-key add key.asc
# 或通过URL添加
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <公钥ID>

️ 警告:apt-key 会将公钥添加到全局信任列表,存在安全风险,Ubuntu 22.04+ 已移除该命令。

Linux源公钥怎样安装?  第1张


验证公钥是否安装成功

  1. 检查目录内容

    ls /etc/apt/trusted.gpg.d/  # 确认文件存在
    ls /usr/share/keyrings/     # 检查手动导入的密钥
  2. 列出已安装公钥

    gpg --list-keys --keyring /usr/share/keyrings/<文件名>.gpg
  3. 更新软件源测试

    sudo apt update  # 无报错即表示公钥生效

常见问题解决

  • 错误 NO_PUBKEY
    运行 sudo apt update 后若提示:

    W: GPG error: http://repo.example.com Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ABCDEF1234567890

    解决

    sudo gpg --keyserver keyserver.ubuntu.com --recv-keys ABCDEF1234567890
    sudo gpg --export --armor ABCDEF1234567890 | sudo apt-key add -
  • 错误 KEYEXPIRED
    公钥已过期,需从官网重新下载最新密钥。


安全建议

  1. 仅信任官方来源
    从软件官网或开发者指定渠道获取公钥,避免中间人攻击。
  2. 优先使用 /usr/share/keyrings
    此目录权限更严格,比全局 /etc/apt/trusted.gpg.d 更安全。
  3. 定期更新公钥
    部分项目会定期轮换密钥,关注官方公告。

正确安装源公钥是保障Linux系统安全的核心步骤,推荐使用 gpg --dearmor 导入到 /usr/share/keyrings/ 的现代方法,避免使用已弃用的 apt-key,操作前务必验证公钥来源,以维护系统的完整性和可信度。

引用说明

  • 本文方法参考 Debian Wiki 和 Ubuntu 安全公告 的最佳实践。
  • GPG 密钥管理依据 GnuPG 官方文档。
  • 安全建议符合 Linux 基金会安全指南。
0