从 Internet 下载操作系统镜像文件或软件有时会带来安全风险,因为恶意攻击者可能会损坏或修改文件。为了确保文件的真实性和完整性,有必要对其进行验证。在本文中,系统极客将介绍如何在 Linux 中校验 ISO 文件。
本文内容涵盖
- 什么是 ISO 文件
- 为什么要校验 ISO 文件
- 在 Linux 中校验 ISO 文件
- 使用 SHA-256 Checksums 校验 ISO 文件
- 使用 GPG 签名校验 ISO 文件
什么是 ISO 文件
ISO 文件通常用于创建可引导媒体、安装软件或创建备份。ISO 文件包含所有原始应用程序/光盘数据,以压缩格式存储,让其能够轻松地在 Internet 中进行下载和共享。
例如,如果您下载 Ubuntu 桌面版、服务器版或其他任何 Linux 操作系统,都会得到扩展名为.iso的文件。它还可用于应用程序或其他操作系统,如 Windows。
为什么要校验 ISO 文件
对下载的 ISO 文件进行校验非常有必要,可以确保下载的文件是真实且未被篡改的。修改后的 ISO 文件可能包含恶意软件或病毒,可能会损害您的系统。校验 ISO 文件可以确保下载的文件与发行商创建的文件相同且未被篡改。
几年前 Linux Mint 服务器遭到黑客攻击,官方 ISO 文件被篡改。虽然通过官方网站下载,但下载的文件也可能不是真实的。
因此,在将 ISO 文件用于安装之前,提前对它们进行验证非常重要。
在 Linux 中校验 ISO 文件
在 Linux 中,通常有两种常用方法来验证 ISO 文件:
- 使用 SHA-256 Checksums
- 使用 GPG 签名
使用 SHA-256 Checksums 校验 ISO 文件
SHA-256 是一种加密哈希函数,用于为文件生成唯一的哈希值。Checksums(校验和)是将 SHA-256 算法应用于文件的结果,其为一个唯一的字符串,可用于验证文件的完整性。
若要使用 SHA-256 Checksums 验证 ISO 文件,请从发行商官网下载 SHA-256 Checksums。SHA-256 Checksums 文件将包含 ISO 文件的「校验和」值。您需要也生成已下载的 ISO 文件的 Checksums(校验和)值,并将其与 SHA-256 Checksums 文件中的「校验和」值进行比较。如果两个值匹配,则下载的 ISO 文件是真实的且未被修改。
1从 Linux 发行版官网下载所需版本的 ISO 文件及「校验和」文件(校验和文件通常是一个有或没有扩展名的文本文件) 。
2打开「终端」并转到存放 ISO 文件的目录。
3在「终端」中使用sha256sum命令生成 ISO 文件的校验和。
例如,要生成名为ubuntu-22.04.2-desktop-amd64.iso的 ISO 文件的校验和,请运行以下命令:
sha256sum ubuntu-22.04.2-desktop-amd64.iso
使用 SHA-256 Checksums 校验 ISO 文件
4将生成的校验和与官方提供的 SHA-256 Checksums 文件中的值进行比较。如果两个值匹配,则 ISO 文件是真实的且未被修改。您可以手动对比,也可以直接使用命令在生成校验和的同时与官方提供的值进行对比:
sha256sum -c SHA256SUMS
使用 SHA-256 Checksums 校验 ISO 文件
各大 Linux 发行版普遍都会在官方下载网站提供 ISO 校验和文件,例如 Ubuntu 就在 Ubuntu Releases 网站为各版本的 ISO 提供了校验文件。
使用 GPG 签名校验 ISO 文件
GPG 是一种加密方式,可用于签署和验证文件。GPG 签名是一种数字签名,可确保文件的真实性和完整性。开发人员使用其私钥对 ISO 文件进行签名,用户使用开发人员的公钥验证签名。
要使用 GPG 签名验证 ISO 文件,需要从发行商官网下载 GPG 签名文件。GPG 签名文件将包含开发人员的公钥和 ISO 文件的签名。您需要导入开发人员的公钥,下载 ISO 文件和 GPG 签名文件,并使用开发人员的公钥验证 ISO 文件的签名。如果签名有效,则 ISO 文件是真实的且未被修改。
1从 Linux 发行版官网下载所需版本的 ISO 及.gpg签名文件
2从 Linux 发行版官网或密钥服务器导入公钥。我使用了以下命令来导入 Ubuntu 的公钥作为示例:
gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x46181433FBB75451 0xD94AA3F0EFE21092
3一旦完成上述步骤,请运行以下命令以校验 ISO 文件:
gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS
使用 GPG 签名校验 ISO 文件
如果文件是真实的,您应该会在上述命令的输出中看到「完好的签名」信息。另外,您可以匹配公钥的最后 8 个字节。「警告」是一个通用信息,可以忽略它。
对下载的 ISO 文件进行验证,以确保真实性和完整性是非常有必要的。通过本文介绍的两种方法,可以确保 ISO 未经修改并且安全可靠。
请记住,即使您从官方网站下载,在校验 ISO 文件之前,也无法确定 ISO 文件是否真实。因此,请将此文作为最佳实践。