authentication - apt-get install quiet 和 --assume-yes 但检查包是否已签名

标签 authentication debian signature apt-get deb

每个人!
我有 debian 设备,我希望它从我的存储库中自动升级。
为此,我只需从 cron 调用 apt-get:
apt-get --assume-yes --force-yes 安装 mypackage
但在这种情况下,如果无法检查签名,它将安装包事件。安装前如何检查签名?

最佳答案

GPG 签名有两种类型:

  • APT 存储库元数据上的 GPG 签名和
  • Debian 软件包上的 GPG 签名。

  • 为了验证 APT 存储库元数据,您需要导入签名者的公共(public) GPG key ,如下所示:
    sudo bash -c 'wget -O - https://url/key' | apt-key add -
    为了验证 Debian 包签名,它要复杂得多,并且大多数包提供者(如 Ubuntu 和 Debian)不签署包。您尝试安装的软件包很可能没有签名。

    但是,如果包已签名并且您想对其进行验证,则需要:
  • 确保您拥有 debsig-verify安装。
  • 创建用于验证包签名的 XML 策略文档。
  • 修改/etc/dpkg/dpkg.cfg启用包签名验证。注意 您应该确保启用此选项不会破坏未签名软件包的软件包安装(如 Ubuntu 和 Debian 提供的软件包)。
  • 使用 apt-get 安装时将验证包签名.

  • 查看我写的这篇名为 GPG sign and verify deb packages and APT repositories 的博文它解释了有关验证 debian 软件包和 APT 存储库所需了解的所有内容,并包括一些 debsig-verify 的示例配置.

    关于authentication - apt-get install quiet 和 --assume-yes 但检查包是否已签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34198231/

    相关文章:

    nginx - Derby 安Linux : Start Nginx at rebooting machine

    linux - ChromeOS : error: system does not fully support snapd: cannot mount squashfs image using "squashfs": mount:

    html - 删除 anchor 下划线电子邮件签名

    module - OCaml 模块中的抽象类型

    python - 如何在python中修改PEM格式证书的签名

    rest - REST 中的用户表示

    javascript - AngularJS SPA和RestfulAPI服务器安全性

    linux - 是否有一个目录可以放置一个 d 文件,以便编译器自动包含它?

    ios - AWSWebIdentityCredentialsProvider 如何获取参数值?

    authentication - Apache Shiro : Exception-Handling with Multiple Realms