AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 407627
Accepted
Bagalaw
Bagalaw
Asked: 2017-11-29 17:46:30 +0800 CST2017-11-29 17:46:30 +0800 CST 2017-11-29 17:46:30 +0800 CST

为什么有时需要手动导入密钥?

  • 772

AUR 上有许多软件包,当您尝试安装它们时,会导致如下错误:==> ERROR: One or more PGP signatures could not be verified!

这可以通过使用类似gpg --recv-keys 123456789ABCDEF. AUR 讨论通常会提供关键。

我对此有几个问题:

  1. 这些键具体有什么作用?GPG 正在验证什么,为什么需要验证?

  2. 为什么需要手动导入密钥?为什么不能自动化?

  3. 如果盲目地从 AUR 评论线程导入密钥是不好的,我应该采取哪些步骤来“验证”密钥?

  4. 如果没有人费心在评论中发布它,并且如果我没有时间发表评论并希望维护者回复,我应该在哪里找到密钥?

在网上搜索,我找到了一篇著名博客文章的引用。很遗憾地说,经过几次仔细阅读后,我仍然不明白以上几点。

arch-linux gpg
  • 2 2 个回答
  • 1110 Views

2 个回答

  • Voted
  1. Best Answer
    telcoM
    2018-01-23T01:34:30+08:002018-01-23T01:34:30+08:00

    这些键具体有什么作用?GPG 正在验证什么,为什么需要验证?

    这些密钥用于验证您正在下载的软件是否是软件包作者想要的,而不是来自存储库服务器的木马恶意软件,该恶意软件可能已被攻击者成功渗透。或者,攻击者可能会将您的下载请求重定向到他伪装的恶意软件存储库,而不是真正的 AUR 存储库。GPG 的验证使攻击者很难成功地将软件存储库用作恶意软件分发渠道。

    为什么需要手动导入密钥?为什么不能自动化?

    您应该有意识地选择是否信任特定的软件作者/打包者,以及您是否有足够的信心确保您收到的密钥是真实的,而不是来自冒名顶替者。

    必要的信任和信心水平取决于你在做什么:一个娱乐的私人家庭系统,一个为企业处理其他人的健康和/或信用卡信息的服务器,以及一个国家导弹防御系统的辅助支持服务器应该每个人都有一些不同的要求。

    如果盲目地从 AUR 评论线程导入密钥是不好的,我应该采取哪些步骤来“验证”密钥?

    如果密钥是由您已经拥有其密钥的其他人签署的,并且您至少在签署 GPG 密钥时相信这些人的判断,那么您可以将其作为密钥可能是真实的证据。否则,您可能会尝试从多个不同来源获取密钥并比较结果。如果它对您来说足够重要,您甚至可以致电或与开发人员会面,以获得更强有力的确认,以确认您拥有正确的密钥。

    如果没有人费心在评论中发布它,并且如果我没有时间发表评论并希望维护者回复,我应该在哪里找到密钥?

    打算广泛使用的 GPG 公钥通常发布在 SKS 密钥服务器上:如果您没有正确的密钥,打包工具应该能够显示所需密钥的 keyID,您可以使用它来搜索密钥服务器上的密钥。

    有关 SKS 密钥服务器网络的更多信息,请参见此处:https ://sks-keyservers.net/

    您也可以谷歌搜索keyID。

    • 3
  2. ivanivan
    2017-11-29T18:13:32+08:002017-11-29T18:13:32+08:00

    TL;DR - 新的、增强的和自动化的“根据网站上发布的列表检查下载的 md5sum”

    签名是对谁在包上签名的数字验证,并确保包自制作以来没有被修改过。通常由包维护者或发布经理或分发核心项目维护组中的“权威”人员签名。从本质上讲,它是对您将要安装的内容的增强和自动完整性检查 - 新的“我们已经发布了文件列表的 md5sum 哈希,您应该将下载的内容与这些进行比较”。

    它的工作方式是公钥/私钥 - 我用密码创建了一个私钥(好强的密码)并用它生成一个公钥。我可以给出公钥。我生成包,对其进行签名,当您安装它时,您会被告知公钥匹配 ABC321FF 或验证签名所需的任何内容。导入密钥后,您端的软件可以验证识别哈希是否相同,以及哈希是否由我的私钥签名。

    将软件从存储库添加到系统时的安全问题是“谁是这个软件的幕后黑手——哦,还有关键”。如果它是发行版的密钥(某些发行版有自己的密钥,或者已经撤销并创建了新密钥),那么没关系,无论如何您都是从他们的发行版运行软件。请注意,当您进入 3rd 方存储库(如 Ubuntu 和项目 PPA)时,您最终会为每个存储库导入一个密钥,这可能是您的担忧。

    您应该注意的是,该密钥现在将只适用于该密钥已签名的任何其他内容。根据您的偏执程度,您可能希望根据需要添加密钥,并在完成安装软件包后将其从受信任的密钥列表中删除。当然,随着频繁更新,您将创建更多工作和更新步骤。

    而且,如果您对密钥签名令人讨厌的东西感到偏执,那么您可能不应该愿意尝试从该存储库安装任何东西。

    • 1

相关问题

  • gpg —list-keys 命令在将私钥导入全新安装后输出 uid [未知]

  • 在启动时加载设备

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    JSON数组使用jq来bash变量

    • 4 个回答
  • Marko Smith

    日期可以为 GMT 时区格式化当前时间吗?[复制]

    • 2 个回答
  • Marko Smith

    bash + 通过 bash 脚本从文件中读取变量和值

    • 4 个回答
  • Marko Smith

    如何复制目录并在同一命令中重命名它?

    • 4 个回答
  • Marko Smith

    ssh 连接。X11 连接因身份验证错误而被拒绝

    • 3 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Marko Smith

    systemctl 命令在 RHEL 6 中不起作用

    • 3 个回答
  • Marko Smith

    rsync 端口 22 和 873 使用

    • 2 个回答
  • Marko Smith

    以 100% 的利用率捕捉 /dev/loop -- 没有可用空间

    • 1 个回答
  • Marko Smith

    jq 打印子对象中所有的键和值

    • 2 个回答
  • Martin Hope
    EHerman JSON数组使用jq来bash变量 2017-12-31 14:50:58 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Drux 日期可以为 GMT 时区格式化当前时间吗?[复制] 2017-12-26 11:35:07 +0800 CST
  • Martin Hope
    AllisonC 如何复制目录并在同一命令中重命名它? 2017-12-22 05:28:06 +0800 CST
  • Martin Hope
    Steve “root”用户的文件权限如何工作? 2017-12-22 02:46:01 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST
  • Martin Hope
    Cbhihe 将默认编辑器更改为 vim for _ sudo systemctl edit [unit-file] _ 2017-12-03 10:11:38 +0800 CST
  • Martin Hope
    showkey 如何下载软件包而不是使用 apt-get 命令安装它? 2017-12-03 02:15:02 +0800 CST
  • Martin Hope
    youxiao 为什么目录 /home、/usr、/var 等都具有相同的 inode 编号 (2)? 2017-12-02 05:33:41 +0800 CST
  • Martin Hope
    user223600 gpg —list-keys 命令在将私钥导入全新安装后输出 uid [未知] 2017-11-26 18:26:02 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve