Linux中國

如何在 Linux 中驗證 ISO 鏡像

你從喜愛的 Linux 發行版的官方網站或第三方網站下載了它的 ISO 鏡像之後,接下來要做什麼呢?是創建可啟動介質並開始安裝系統嗎?並不是,請稍等一下。在開始使用它之前,強烈建議你檢查一下你剛下載到本地系統中的 ISO 文件是否是下載鏡像站點中 ISO 文件的一個精確拷貝。因為在前幾年 Linux Mint 的網站被攻破了,並且攻擊者創建了一個包含後門的經過修改的 Linux Mint ISO 文件。 所以驗證下載的 Linux ISO 鏡像的可靠性和完整性是非常重要的一件事兒。假如你不知道如何在 Linux 中驗證 ISO 鏡像,本次的簡要介紹將給予你幫助,請接著往下看!

在 Linux 中驗證 ISO 鏡像

我們可以使用 ISO 鏡像的「校驗和」來驗證 ISO 鏡像。校驗和是一系列字母和數字的組合,用來檢驗下載文件的數據是否有錯以及驗證其可靠性和完整性。當前存在不同類型的校驗和,例如 SHA-0、SHA-1、SHA-2(224、256、384、512)和 MD5。MD5 校驗和最為常用,但對於現代的 Linux 發行版,SHA-256 最常被使用。

我們將使用名為 gpgsha256 的兩個工具來驗證 ISO 鏡像的可靠性和完整性。

下載校驗和及簽名

針對本篇指南的目的,我將使用 Ubuntu 18.04 LTS 伺服器 ISO 鏡像來做驗證,但對於其他的 Linux 發行版應該也是適用的。

在靠近 Ubuntu 下載頁的最上端,你將看到一些額外的文件(校驗和及簽名),正如下面展示的圖片那樣:

Ubuntu 18.04 的校驗和及簽名

其中名為 SHA256SUMS 的文件包含了這裡所有可獲取鏡像的校驗和,而 SHA256SUMS.gpg 文件則是這個文件的 GnuPG 簽名。在下面的步驟中,我們將使用這個簽名文件來 驗證 校驗和文件。

下載 Ubuntu 的 ISO 鏡像文件以及剛才提到的那兩個文件,然後將它們放到同一目錄下,例如這裡的 ISO 目錄:

$ ls ISO/
SHA256SUMS SHA256SUMS.gpg ubuntu-18.04.2-live-server-amd64.iso

如你所見,我已經下載了 Ubuntu 18.04.2 LTS 伺服器版本的鏡像,以及對應的校驗和文件和簽名文件。

下載有效的簽名秘鑰

現在,使用下面的命令來下載正確的簽名秘鑰:

$ gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x46181433FBB75451 0xD94AA3F0EFE21092

示例輸出如下:

gpg: key D94AA3F0EFE21092: 57 signatures not checked due to missing keys
gpg: key D94AA3F0EFE21092: public key "Ubuntu CD Image Automatic Signing Key (2012) <[email protected]>" imported
gpg: key 46181433FBB75451: 105 signatures not checked due to missing keys
gpg: key 46181433FBB75451: public key "Ubuntu CD Image Automatic Signing Key <[email protected]>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 2
gpg: imported: 2

驗證 SHA-256 校驗和

接下來我們將使用簽名來驗證校驗和文件:

$ gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS

下面是示例輸出:

gpg: Signature made Friday 15 February 2019 04:23:33 AM IST
gpg: using DSA key 46181433FBB75451
gpg: Good signature from "Ubuntu CD Image Automatic Signing Key <[email protected]>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451
gpg: Signature made Friday 15 February 2019 04:23:33 AM IST
gpg: using RSA key D94AA3F0EFE21092
gpg: Good signature from "Ubuntu CD Image Automatic Signing Key (2012) <[email protected]>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092

假如你在輸出中看到 Good signature 字樣,那麼該校驗和文件便是由 Ubuntu 開發者製作的,並且由秘鑰文件的所屬者簽名認證。

檢驗下載的 ISO 文件

下面讓我們繼續檢查下載的 ISO 文件是否和所給的校驗和相匹配。為了達到該目的,只需要運行:

$ sha256sum -c SHA256SUMS 2>&1 | grep OK
ubuntu-18.04.2-live-server-amd64.iso: OK

假如校驗和是匹配的,你將看到 OK 字樣,這意味著下載的文件是合法的,沒有被改變或篡改過。

假如你沒有獲得類似的輸出,或者看到不同的輸出,則該 ISO 文件可能已經被修改過或者沒有被正確地下載。你必須從一個更好的下載源重新下載該文件。

某些 Linux 發行版已經在它的下載頁面中包含了校驗和。例如 Pop!_os 的開發者在他們的下載頁面中提供了所有 ISO 鏡像的 SHA-256 校驗和,這樣你就可以快速地驗證這些 ISO 鏡像。

Pop os 位於其下載頁面中的 SHA256 校驗和

在下載完 ISO 鏡像文件後,可以使用下面的命令來驗證它們:

$ sha256sum Soft_backup/ISOs/pop-os_18.04_amd64_intel_54.iso

示例輸出如下:

680e1aa5a76c86843750e8120e2e50c2787973343430956b5cbe275d3ec228a6 Soft_backup/ISOs/pop-os_18.04_amd64_intel_54.iso

Pop os 的 SHA256 校驗和的值

在上面的輸出中,以 680elaa 開頭的部分為 SHA-256 校驗和的值。請將該值與位於下載頁面中提供的 SHA-256 校驗和的值進行比較,如果這兩個值相同,那說明這個下載的 ISO 文件是合法的,與它的原有狀態相比沒有經過更改或者篡改。萬事俱備,你可以進行下一步了!

上面的內容便是我們如何在 Linux 中驗證一個 ISO 文件的可靠性和完整性的方法。無論你是從官方站點或者第三方站點下載 ISO 文件,我們總是推薦你在使用它們之前做一次簡單的快速驗證。希望本篇的內容對你有所幫助。

參考文獻:

via: https://www.ostechnix.com/how-to-verify-iso-images-in-linux/

作者:sk 選題:lujun9972 譯者:FSSlc 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國