您可能经常下载了一些开源软件,例如各种Linux发行版ISO。在下载时,您可能还会注意到下载校验和文件的链接。该链接是做什么用的?实际上,Linux发行版将校验和文件与源ISO文件一起分发,以验证下载文件的完整性。使用文件的校验和,可以验证下载的文件是真实文件,并且未被篡改。当您从其他地方而不是从原始网站(如第三方网站)下载文件的可能性更大时,此功能特别有用。从任何第三方下载文件时,强烈建议验证校验和。
在本文中,我们将逐步执行一些步骤,以帮助您验证Ubuntu操作系统中的所有下载。对于本文,我使用Ubuntu 18.04 LTS来描述该过程。而且,我已经下载了ubuntu-18.04.2-desktop-amd64.iso它将在本文中用于验证过程。
您可以使用两种方法来验证下载文件的完整性。第一种方法是通过SHA256哈希,这是一种快速但安全性较低的方法。第二个是通过gpg密钥,它是一种检查文件完整性的更安全的方法。
使用SHA256哈希验证下载
在第一种方法中,我们将使用散列来验证下载。散列是一种验证过程,它验证系统上下载的文件是否与原始源文件相同,并且未被第三方更改。该方法的步骤如下:
步骤1:下载SHA256SUMS文件
您需要从官方Ubuntu镜像中找到SHA256SUMS文件。镜像页面包括一些额外的文件以及Ubuntu映像。我正在使用下面的镜像下载SHA256SUMS文件:
找到文件后,单击它以将其打开。它包含Ubuntu提供的原始文件的校验和。
步骤2:生成下载的ISO文件的SHA256校验和
现在按以下方式打开终端Ctrl + Alt + T组合键。然后导航到放置下载文件的目录。
$ cd [path-to-file]
然后在终端中运行以下命令以生成下载的ISO文件的SHA256校验和。
广告
步骤3:比较两个文件中的校验和。
将系统生成的校验和与Ubuntu的官方镜像站点提供的校验和进行比较。如果校验和匹配,则您已下载了一个真实文件,否则该文件已损坏。
验证下载您唱gpg键
此方法比以前的方法更安全。让我们看看它是如何工作的。该方法的步骤如下:
步骤1:下载SHA256SUMS和SHA256SUMS.gpg
您将需要从任何Ubuntu镜像中找到SHA256SUMS和SHA256SUMS.gpg文件。找到这些文件后,将其打开。右键单击并使用“另存为页面”选项进行保存。将两个文件保存在同一目录中。
步骤2:找到用于发布签名的密钥
启动终端并导航到放置校验和文件的目录。
$ cd [path-to-file]
然后运行以下命令以验证使用了哪个密钥来生成签名。
$ gpg –verify SHA256SUMS.gpg SHA256SUMS
我们还可以使用此命令来验证签名。但是目前没有公钥,因此它将返回错误消息,如下图所示。
通过查看以上输出,您可以看到密钥ID:46181433FBB75451和D94AA3F0EFE21092。我们可以使用这些ID从Ubuntu服务器请求它们。
步骤3:取得Ubuntu伺服器的公开金钥
我们将使用上述密钥ID从Ubuntu服务器请求公共密钥。可以通过在Terminal中运行以下命令来完成。该命令的常规语法为:
$ gpg –keyserver <keyserver-name –recv-keys <publicKey>
现在您已经收到来自Ubuntu服务器的密钥。
步骤4:验证密钥指纹
现在,您将需要验证密钥指纹。为此,请在终端中运行以下命令。
$ gpg --list-keys --with-fingerprint <0x-----> <0x------>
步骤5:验证签名
现在,您可以运行命令来验证签名。这与您以前用来查找用于发布签名的密钥的命令相同。
$ gpg --verify SHA256SUMS.gpg SHA256SUMS
现在您可以看到上面的输出。它显示好的签名验证我们ISO文件完整性的消息。如果它们不匹配,它将显示为坏签名。
您还会注意到警告标志,这仅仅是因为您尚未对密钥进行签名,并且它们不在您的可信任来源列表中。
最后一步
现在,您将需要为下载的ISO a文件生成sha256校验和。然后将其与您从Ubuntu镜像下载的SHA256SUM文件进行匹配。确保将下载的文件SHA256SUMS和SHA256SUMS.gpg放在同一目录中。
在终端中运行以下命令:
$ sha256sum -c SHA256SUMS 2>&1 | grep OK
您将获得如下输出。如果输出不同,则意味着您下载的ISO文件已损坏。
这就是在Ubuntu中验证下载所需的全部知识。使用above-described验证方法,可以确认您已经下载了一个真实的ISO文件,该文件在下载过程中没有被破坏和篡改。