如何在Linux中驗(yàn)證ISO鏡像
你從喜愛的 Linux 發(fā)行版的官方網(wǎng)站或第三方網(wǎng)站下載了它的 ISO 鏡像之后,接下來要做什么呢?是創(chuàng)建可啟動(dòng)介質(zhì)并開始安裝系統(tǒng)嗎?并不是,請(qǐng)稍等一下。在開始使用它之前,強(qiáng)烈建議你檢查一下你剛下載到本地系統(tǒng)中的 ISO 文件是否是下載鏡像站點(diǎn)中 ISO 文件的一個(gè)精確拷貝。因?yàn)樵谇皫啄?Linux Mint 的網(wǎng)站被攻破了,并且攻擊者創(chuàng)建了一個(gè)包含后門的經(jīng)過修改的 Linux Mint ISO 文件。 所以驗(yàn)證下載的 Linux ISO 鏡像的可靠性和完整性是非常重要的一件事兒。假如你不知道如何在 Linux 中驗(yàn)證 ISO 鏡像,本次的簡要介紹將給予你幫助,請(qǐng)接著往下看!
在 Linux 中驗(yàn)證 ISO 鏡像
我們可以使用 ISO 鏡像的“校驗(yàn)和”來驗(yàn)證 ISO 鏡像。校驗(yàn)和是一系列字母和數(shù)字的組合,用來檢驗(yàn)下載文件的數(shù)據(jù)是否有錯(cuò)以及驗(yàn)證其可靠性和完整性。當(dāng)前存在不同類型的校驗(yàn)和,例如 SHA-0、SHA-1、SHA-2(224、256、384、512)和 MD5。MD5 校驗(yàn)和最為常用,但對(duì)于現(xiàn)代的 Linux 發(fā)行版,SHA-256 最常被使用。
我們將使用名為 gpg
和 sha256
的兩個(gè)工具來驗(yàn)證 ISO 鏡像的可靠性和完整性。
下載校驗(yàn)和及簽名
針對(duì)本篇指南的目的,我將使用 Ubuntu 18.04 LTS 服務(wù)器 ISO 鏡像來做驗(yàn)證,但對(duì)于其他的 Linux 發(fā)行版應(yīng)該也是適用的。
在靠近 Ubuntu 下載頁的最上端,你將看到一些額外的文件(校驗(yàn)和及簽名),正如下面展示的圖片那樣:
Ubuntu 18.04 的校驗(yàn)和及簽名
其中名為 SHA256SUMS
的文件包含了這里所有可獲取鏡像的校驗(yàn)和,而 SHA256SUMS.gpg
文件則是這個(gè)文件的 GnuPG 簽名。在下面的步驟中,我們將使用這個(gè)簽名文件來 驗(yàn)證 校驗(yàn)和文件。
下載 Ubuntu 的 ISO 鏡像文件以及剛才提到的那兩個(gè)文件,然后將它們放到同一目錄下,例如這里的 ISO
目錄:
$ ls ISO/
SHA256SUMS SHA256SUMS.gpg ubuntu-18.04.2-live-server-amd64.iso
如你所見,我已經(jīng)下載了 Ubuntu 18.04.2 LTS 服務(wù)器版本的鏡像,以及對(duì)應(yīng)的校驗(yàn)和文件和簽名文件。
下載有效的簽名秘鑰
現(xiàn)在,使用下面的命令來下載正確的簽名秘鑰:
$ 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
驗(yàn)證 SHA-256 校驗(yàn)和
接下來我們將使用簽名來驗(yàn)證校驗(yàn)和文件:
$ 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
字樣,那么該校驗(yàn)和文件便是由 Ubuntu 開發(fā)者制作的,并且由秘鑰文件的所屬者簽名認(rèn)證。
檢驗(yàn)下載的 ISO 文件
下面讓我們繼續(xù)檢查下載的 ISO 文件是否和所給的校驗(yàn)和相匹配。為了達(dá)到該目的,只需要運(yùn)行:
$ sha256sum -c SHA256SUMS 2>&1 | grep OK
ubuntu-18.04.2-live-server-amd64.iso: OK
假如校驗(yàn)和是匹配的,你將看到 OK
字樣,這意味著下載的文件是合法的,沒有被改變或篡改過。
假如你沒有獲得類似的輸出,或者看到不同的輸出,則該 ISO 文件可能已經(jīng)被修改過或者沒有被正確地下載。你必須從一個(gè)更好的下載源重新下載該文件。
某些 Linux 發(fā)行版已經(jīng)在它的下載頁面中包含了校驗(yàn)和。例如 Pop!_os 的開發(fā)者在他們的下載頁面中提供了所有 ISO 鏡像的 SHA-256 校驗(yàn)和,這樣你就可以快速地驗(yàn)證這些 ISO 鏡像。
Pop os 位于其下載頁面中的 SHA256 校驗(yàn)和
在下載完 ISO 鏡像文件后,可以使用下面的命令來驗(yàn)證它們:
$ 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 校驗(yàn)和的值
在上面的輸出中,以 680elaa
開頭的部分為 SHA-256 校驗(yàn)和的值。請(qǐng)將該值與位于下載頁面中提供的 SHA-256 校驗(yàn)和的值進(jìn)行比較,如果這兩個(gè)值相同,那說明這個(gè)下載的 ISO 文件是合法的,與它的原有狀態(tài)相比沒有經(jīng)過更改或者篡改。萬事俱備,你可以進(jìn)行下一步了!
上面的內(nèi)容便是我們?nèi)绾卧?Linux 中驗(yàn)證一個(gè) ISO 文件的可靠性和完整性的方法。無論你是從官方站點(diǎn)或者第三方站點(diǎn)下載 ISO 文件,我們總是推薦你在使用它們之前做一次簡單的快速驗(yàn)證。希望本篇的內(nèi)容對(duì)你有所幫助。
參考文獻(xiàn):