用gpg和sha256验证ubuntu.iso

server/2025/1/15 17:26:50/

链接

  1. https://ubuntu.com/tutorials/how-to-verify-ubuntu
  2. https://releases.ubuntu.com/jammy/
  • 本文是2的简明版

sha256sum介绍

sha256sum -c SHA256SUMS 2>&1

这段脚本的作用是验证文件的 SHA-256 校验和。具体来说,命令的各个部分含义如下:

  • sha256sum: 这是一个用于计算和验证文件 SHA-256 校验和的命令行工具。

  • -c: 这个选项表示“检查”模式。它会读取指定的校验和文件(在这里是 SHA256SUMS),并验证该文件中列出的每个文件的 SHA-256 校验和。

  • SHA256SUMS: 这是一个包含文件名及其对应 SHA-256 校验和的文件。这个文件通常是由某个软件包的发布者提供的,用于确保下载的文件没有被篡改。

  • 2>&1: 这个部分是一个重定向操作。它将标准错误(文件描述符 2)重定向到标准输出(文件描述符 1),这样所有的输出(包括错误信息)都会被合并到一起,方便查看。

总结

整条命令的作用是:使用 sha256sum 工具检查 SHA256SUMS 文件中列出的文件的 SHA-256 校验和,并将所有输出(包括错误信息)打印到标准输出。这通常用于确保下载的文件的完整性和真实性。

用sha256校验iso的流程

  1. 验使用 GnuPG 来验证 SHA256SUMS 文件的签名
gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS

这段脚本的作用是使用 GnuPG(GNU Privacy Guard)工具来验证一个文件的完整性和真实性。

具体解释如下:

  • gpg:表示要运行 GnuPG 工具。
  • --keyid-format long:设置密钥 ID 的格式为长格式。
  • --verify SHA256SUMS.gpg SHA256SUMS:验证 SHA256SUMS.gpg 文件的签名,并使用 SHA256SUMS 文件中列出的哈希值来验证文件的完整性。在验证过程中,GnuPG 会检查签名是否有效以及是否与签名的密钥匹配。

总结起来,这段脚本的作用是使用 GnuPG 来验证 SHA256SUMS 文件的签名,并通过比对哈希值来验证文件的完整性。这段脚本的作用是使用 GnuPG(GNU Privacy Guard)工具来验证一个文件的完整性和真实性。

  1. 使用 GnuPG(GNU Privacy Guard)工具从指定的密钥服务器接收并导入一个公钥。
gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x843938DF228D22F7B3742BC0D94AA3F0EFE21092

这段脚本的作用是使用 GnuPG(GNU Privacy Guard)工具从指定的密钥服务器接收并导入一个公钥。

具体解释如下:

  • gpg:表示要运行 GnuPG 工具。
  • --keyid-format long:设置密钥 ID 的格式为长格式。
  • --keyserver hkp://keyserver.ubuntu.com:指定要使用的密钥服务器,这里使用的是 Ubuntu 密钥服务器。
  • --recv-keys 0x843938DF228D22F7B3742BC0D94AA3F0EFE21092:指定要接收的公钥的密钥 ID。公钥的密钥 ID 是一个唯一的标识符,用于确保所接收的公钥是预期的。
  1. 使用 GnuPG 工具列出指定公钥的信息和指纹。
gpg --keyid-format long --list-keys --with-fingerprint 0xD94AA3F0EFE21092

这段脚本的作用是使用 GnuPG 工具列出指定公钥的信息和指纹。

具体解释如下:

  • gpg:表示要运行 GnuPG 工具。
  • --keyid-format long:设置密钥 ID 的格式为长格式。
  • --list-keys:列出已导入的公钥列表。
  • --with-fingerprint:在列表中显示公钥的指纹信息。
  • 0xD94AA3F0EFE21092:指定要列出的公钥的密钥 ID。
  1. 检查Key fingerprint,应当与官网的密钥指纹匹配
pub   dsa1024/46181433FBB75451 2004-12-30 [SC]Key fingerprint = C598 6B4F 1257 FFA8 6632  CBA7 4618 1433 FBB7 5451
uid                  Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>pub   rsa4096/D94AA3F0EFE21092 2012-05-11 [SC]Key fingerprint = 8439 38DF 228D 22F7 B374  2BC0 D94A A3F0 EFE2 1092
uid                  Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>
  1. 用sha256校验和,按SHA256算法来验证.iso文件(下载desktop版本的话,最好把live-server那行注释掉)
$ sha256sum -c SHA256SUMS 2>&1
ubuntu-22.04.5-desktop-amd64.iso: 成功

color egg

可以从密钥服务器再接收一个公钥

$ gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x46181433FBB75451
gpg: 密钥 46181433FBB75451:公钥 “Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>” 已导入
gpg: 处理的总数:1
gpg:               已导入:1

再列出公钥的指纹

$ gpg --keyid-format long --list-keys --with-fingerprint 0x46181433FBB75451  0x843938DF228D22F7B3742BC0D94AA3F0EFE21092
pub   rsa4096/D94AA3F0EFE21092 2012-05-11 [SC]密钥指纹 = 8439 38DF 228D 22F7 B374  2BC0 D94A A3F0 EFE2 1092
uid                   [ 未知 ] Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>pub   dsa1024/46181433FBB75451 2004-12-30 [SC]密钥指纹 = C598 6B4F 1257 FFA8 6632  CBA7 4618 1433 FBB7 5451
uid                   [ 未知 ] Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>

http://www.ppmy.cn/server/158614.html

相关文章

http和https有哪些不同

http和https有哪些不同 1.数据传输的安全性&#xff1a;http非加密&#xff0c;https加密 2.端口号&#xff1a;http默认80端口&#xff0c;https默认443端口 3.性能&#xff1a;http基于tcp三次握手建立连接&#xff0c;https在tcp三次握手后还有TLS协议的四次握手确认加密…

安装软件缺少msvcp110.dll怎么办?出现dll丢失的解决方法

在日常使用电脑安装各类软件的过程中&#xff0c;相信不少朋友都遇到过 “缺少 msvcp110.dll” 的报错提示 。下面就来深入聊聊这个 msvcp110.dll 文件&#xff0c;以及当它缺失时&#xff0c;我们该如何巧妙应对。 一、msvcp110.dll 文件介绍 1.1 定义与功能 msvcp110.dll 是…

django基于Python的汽车销售管理系统的设计与实现

Django 基于 Python 的汽车销售管理系统的设计与实现 一、系统概述 Django 基于 Python 的汽车销售管理系统是一款专为汽车销售企业打造的综合性信息化管理平台。该系统借助 Django 框架的高效性、安全性以及 Python 语言丰富的库和工具&#xff0c;全面覆盖汽车销售业务的各…

命令模式-Command Pattern

什么是命令模式 命令模式是一种行为类设计模式&#xff0c;核心是将每种请求或操作封装为一个独立的对象&#xff0c;从而可以集中管理这些请求或操作&#xff0c;比如将请求队列化依次执行、或者对操作进行记录和撤销。 命令模式通过将请求的发送者(客户端)和接收者(执行请求…

MERN全栈脚手架(MongoDB、Express、React、Node)与Yeoman详解

MERN 全栈脚手架是一种用于快速构建基于 MongoDB、Express、React 和 Node.js 的全栈应用的框架或模板。它帮助开发者快速启动项目&#xff0c;减少了从零开始配置的时间。以下是关于 MERN 全栈脚手架的详细解析。 一、MERN 技术栈简介 MongoDB: 文档型数据库&#xff0c;用于…

flutter VoidCallBack ValueChange<T> 的函数定义

在 Flutter 中&#xff0c;VoidCallback 和 ValueChanged<T> 是两种常用的回调函数类型&#xff0c;它们通常用于处理事件或传递数据。下面是它们的详细定义及使用方式。 1. VoidCallback 函数类型 VoidCallback 是一个没有参数也没有返回值的回调函数类型。它通常用于…

[0405].第05节:搭建Redis主从架构

Redis学习大纲 一、3主3从的集群配置&#xff1a; 1.1.集群规划 1.分片集群需要的节点数量较多&#xff0c;这里我们搭建一个最小的分片集群&#xff0c;包含3个master节点&#xff0c;每个master包含一个slave节点&#xff0c;结构如下&#xff1a; 2.每组是一主一从&#x…

electron编写一个macOS风格的桌面应用

electron编写一个macOS风格的桌面应用 基于vue3vite&#xff0c;看一下最后的效果&#xff1a; 针对原始的electron模板&#xff0c;做了如下几点调整&#xff1a; 背景边框进行了圆角处理隐藏了原始的titleBar增加了macOS风格的窗口管理工具&#xff0c;就是交通灯按钮组实现…