歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 在Linux系統中使用SHA256來校驗下載的文件的方法

在Linux系統中使用SHA256來校驗下載的文件的方法

日期:2017/3/1 17:41:28   编辑:Linux技術

當你下載了一個 ISO 鏡像,特別是從 BitTorrent 網絡上很多未知的種子處下載的,通常建議要驗證下載鏡像的完整性。
對於 Ubuntu 發行版的情況, Canonical 提供了幾個供驗證使用的驗校文件(如 MD5SUM, SHA1SUMS 和 SHA256SUMS)。在這個例子中我們使用 SHA256SUMS。
2015617164956413.jpg (640×336)

首先,下載下面兩個文件。


復制代碼代碼如下:$ wget http://releases.ubuntu.com/14.10/SHA256SUMS
$ wget http://releases.ubuntu.com/14.10/SHA256SUMS.gpg

第一個文件是 ISO 鏡像的 SHA256 驗校文件,而第二個文件(*.gpg)是驗校文件的簽名。第二個文件的目的是驗證驗校文件本身的有效性。

我們通過運行下面的命令來驗證 SHA256SUMS 文件的有效性。


復制代碼代碼如下:$ gpg --verify SHA256SUMS.gpg SHA256SUMS </p> <p> gpg: Signature made Thu 23 Oct 2014 09:36:00 AM EDT using DSA key ID FBB75451
gpg: Can't check signature: public key not found

如果你得到上面的錯誤信息,是因為你還沒有導入生成這個簽名的公共密鑰。因此我們現在導入需要的公共密鑰。

這樣做之前,你需要知道公共密鑰的 “key ID”,而這在上面的 gpg 命令的輸出中有顯示。在這個例子中,密鑰 ID 時 “FBB75451”。運行下面的命令來從官方 Ubuntu 密鑰服務器導入公共密鑰。


復制代碼代碼如下:$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys FBB75451
2015617165015211.jpg (640×113)

既然公共密鑰已經被導入,我們可以繼續並重新運行之前的命令來驗證簽名。


復制代碼代碼如下: gpg --verify SHA256SUMS.gpg SHA256SUMS
2015617165032921.jpg (640×91)

這次你沒有看到 “public key not found” 的錯誤信息。如果 SHA256SUMS 文件時有效的,你會看到 “Good signature from ” 的信息。注意到你還看到一個 “This key is not certified with a trusted signature” 的警告信息。基本上這個警告信息是告訴你對導入的公共密鑰沒有明確信任。要避免這個警告,你可以選擇指定完全信任導入的公共密鑰,但你應該只有在通過其他方式審查了這個密鑰之後才這樣做。否則的話,你可以暫時忽略這個警告。

在驗證了 SHA256SUMS 文件的完整性後,最後一個步驟是比較已下載 ISO 文件的 SHA256 驗校和和 SHA256SUMS 文件中對應的驗校值。你可以使用 sha256sum 命令行工具來完成這個步驟。

為方便起見,下面一行命令比較 SHA256 驗校和並報告結果。


復制代碼代碼如下: $ sha256sum -c <(grep ubuntu-14.10-desktop-amd64.iso SHA256SUMS) </p> <p> ubuntu-14.10-desktop-amd64.iso: OK

如果你看到了上面的輸出信息,這表明兩個驗校值相匹配。這樣已下載 ISO 鏡像的完整性就被成功的驗證了。

Copyright © Linux教程網 All Rights Reserved