如何使用 SHA256 校验下载的文件
2014-11-20 14:38
621 查看
当你下载了一个 ISO 镜像,特别是从 BitTorrent 网络上很多未知的种子处下载的,通常建议要验证下载镜像的完整性。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201506/d0c9baf3304950c1a7c841b88e012594.png)
对于 Ubuntu 发行版的情况, Canonical 提供了几个供验证使用的验校文件(如 MD5SUM, SHA1SUMS 和 SHA256SUMS)。在这个例子中我们使用 SHA256SUMS。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201506/eede751cffc59d4e5bc8bf965d766eb8.jpg)
首先,下载下面两个文件。
第一个文件是 ISO 镜像的 SHA256 验校文件,而第二个文件(*.gpg)是验校文件的签名。第二个文件的目的是验证验校文件本身的有效性。
我们通过运行下面的命令来验证 SHA256SUMS 文件的有效性。
如果你得到上面的错误信息,是因为你还没有导入生成这个签名的公共密钥。因此我们现在导入需要的公共密钥。
这样做之前,你需要知道公共密钥的 “key ID”,而这在上面的 gpg 命令的输出中有显示。在这个例子中,密钥 ID 时 “FBB75451”。运行下面的命令来从官方 Ubuntu 密钥服务器导入公共密钥。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201506/e0c22dc7ff1033ca2efd43d62540ad7b.jpg)
既然公共密钥已经被导入,我们可以继续并重新运行之前的命令来验证签名。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201506/3dd0c2ccc089f882e1f31651f349060a.jpg)
这次你没有看到 “public key not found” 的错误信息。如果 SHA256SUMS 文件时有效的,你会看到 “Good signature from ” 的信息。注意到你还看到一个 “This key is not certified with a trusted signature” 的警告信息。基本上这个警告信息是告诉你对导入的公共密钥没有明确信任。要避免这个警告,你可以选择指定完全信任导入的公共密钥,但你应该只有在通过其他方式审查了这个密钥之后才这样做。否则的话,你可以暂时忽略这个警告。
在验证了 SHA256SUMS 文件的完整性后,最后一个步骤是比较已下载 ISO 文件的 SHA256 验校和和 SHA256SUMS 文件中对应的验校值。你可以使用 sha256sum 命令行工具来完成这个步骤。
为方便起见,下面一行命令比较 SHA256 验校和并报告结果。
如果你看到了上面的输出信息,这表明两个验校值相匹配。这样已下载 ISO 镜像的完整性就被成功的验证了。
via: http://xmodulo.com/download-iso-image-bittorrent-command-line.html
作者:Dan Nanni 译者:wangjiezhe 校对:wxy
本文由 LCTT 原创翻译,Linux中国 荣誉推出
![](https://oscdn.geek-share.com/Uploads/Images/Content/201506/d0c9baf3304950c1a7c841b88e012594.png)
对于 Ubuntu 发行版的情况, Canonical 提供了几个供验证使用的验校文件(如 MD5SUM, SHA1SUMS 和 SHA256SUMS)。在这个例子中我们使用 SHA256SUMS。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201506/eede751cffc59d4e5bc8bf965d766eb8.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
![](https://oscdn.geek-share.com/Uploads/Images/Content/201506/e0c22dc7ff1033ca2efd43d62540ad7b.jpg)
既然公共密钥已经被导入,我们可以继续并重新运行之前的命令来验证签名。
gpg --verify SHA256SUMS.gpg SHA256SUMS
![](https://oscdn.geek-share.com/Uploads/Images/Content/201506/3dd0c2ccc089f882e1f31651f349060a.jpg)
这次你没有看到 “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)
ubuntu-14.10-desktop-amd64.iso: OK
如果你看到了上面的输出信息,这表明两个验校值相匹配。这样已下载 ISO 镜像的完整性就被成功的验证了。
via: http://xmodulo.com/download-iso-image-bittorrent-command-line.html
作者:Dan Nanni 译者:wangjiezhe 校对:wxy
本文由 LCTT 原创翻译,Linux中国 荣誉推出
相关文章推荐
- 使用SHA256校验下载的文件
- 如何使用户能下载服务器中的文件
- 如何使用wget批量下载或递归下载网页中的所有文件
- 如何使用搜索引擎下载文件
- 如何使用Ubuntu SDK DownloadManager来同时下载多个文件
- 实例:如何使用 Netty 下载文件
- 如何使用windows命令行(cmd)脚本远程下载文件
- 如何使用window自带的远程桌面连接进行远程文件的上传和下载
- 如何使用Flashfxp上传下载文件
- linux下如何使用sftp命令进行文件上传和下载
- 如何使用Ubuntu SDK中的Download Manager来下载文件
- 如何使用资源文件提供Excel模板下载
- 如何使用迅雷批量下载文件
- 如何使用SQL 2000的DTS自动从FTP服务器下载文件
- 如何让windows升级文件在下载安装系统时使用
- 如何使用jxl 和 primface 下载excel文件 ,希望能帮助遇到同样问题的博主
- linux下如何使用sftp命令进行文件上传和下载
- 如何使用IAR软件来调试和下载编译文件到MSP430 LaunchPad!
- 实例:如何使用 Netty 下载文件
- 如何从ios酷我音乐盒中导出已下载的音乐文件(使用Java编程实现)