如何使用 SHA256 校验下载的文件
当你下载了一个 ISO 镜像，特别是从 BitTorrent 网络上很多未知的种子处下载的，通常建议要验证下载镜像的完整性。  对于 Ubuntu 发行版的情况， Canonical 提供了几个供验证使用的验校文件（如 MD5SUM， SHA1SUMS 和 SHA256SUMS）。在这个例子中我们使用 SHA256SUMS。  首先，下载下面两个文件。 $ wget http://releases.ubuntu.com/14.10/SHA256SUMS $ wget http://releases.ubuntu.com/14.10/SHA256SUMS.gpg  第一个文件是 ISO 镜像的 SHA256 验校文件，而第二个文件（*.gpg）是验校文件的签名。第二个文件的目的是验证验校文件本身的
sha256sum SHA256 校验 下载
220.200.4.72
安全第一
微博评论
2014-11-20T15:03:03.000
当你下载了一个 ISO 镜像，特别是从 BitTorrent 网络上很多未知的种子处下载的，通常建议要验证下载镜像的完整性。  对于 Ubuntu 发行版的情况， Canonical 提供了几个供验证使用的验校文件（如 MD5SUM， SHA1SUMS 和 SHA256SUMS）。在这个例子中我们使用 SHA256SUMS。  首先，下载下面两个文件。 $ wget http://releases.ubuntu.com/14.10/SHA256SUMS $ wget http://releases.ubuntu.com/14.10/SHA256SUMS.gpg  第一个文件是 ISO 镜像的 SHA256 验校文件，而第二个文件（*.gpg）是验校文件的签名。第二个文件的目的是验证验校文件本身的
当你[下载了一个 ISO 镜像](http://linux.cn/article-4263-1.html)，特别是从 BitTorrent 网络上很多未知的种子处下载的，通常建议要验证下载镜像的完整性。


![](/data/attachment/album/201411/20/143833zlr66l16jr2j6vjv.png)


对于 Ubuntu 发行版的情况， Canonical 提供了几个供验证使用的验校文件（如 MD5SUM， SHA1SUMS 和 SHA256SUMS）。在这个例子中我们使用 SHA256SUMS。


![](/data/attachment/album/201411/20/143837paj2iiwz0jsvuvdi.jpg)


首先，下载下面两个文件。



```
$ 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 

```



---



```
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 

```

![](/data/attachment/album/201411/20/143839vcwwubc8w2bd04bv.jpg)


既然公共密钥已经被导入，我们可以继续并重新运行之前的命令来验证签名。



```
gpg --verify SHA256SUMS.gpg SHA256SUMS 

```

![](/data/attachment/album/201411/20/143842x0m8bubkmbbb4btd.jpg)


这次你没有看到 “public key not found” 的错误信息。如果 SHA256SUMS 文件时有效的，你会看到 “Good signature from ” 的信息。注意到你还看到一个 “This key is not certified with a trusted signature” 的警告信息。基本上这个警告信息是告诉你对导入的公共密钥没有明确信任。要避免这个警告，你可以选择指定[完全信任](http://xmodulo.com/verify-authenticity-integrity-downloaded-file.html)导入的公共密钥，但你应该只有在通过其他方式审查了这个密钥之后才这样做。否则的话，你可以暂时忽略这个警告。


在验证了 SHA256SUMS 文件的完整性后，最后一个步骤是比较已下载 ISO 文件的 SHA256 验校和和 SHA256SUMS 文件中对应的验校值。你可以使用 sha256sum 命令行工具来完成这个步骤。


为方便起见，下面一行命令比较 SHA256 验校和并报告结果。



```
 $ sha256sum -c <(grep ubuntu-14.10-desktop-amd64.iso SHA256SUMS) 

```



---



```
ubuntu-14.10-desktop-amd64.iso: OK

```

如果你看到了上面的输出信息，这表明两个验校值相匹配。这样已下载 ISO 镜像的完整性就被成功的验证了。




---


via: <http://xmodulo.com/download-iso-image-bittorrent-command-line.html>


作者：[Dan Nanni](http://xmodulo.com/author/nanni) 译者：[wangjiezhe](https://github.com/wangjiezhe) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出

