验证 archlinux 签名

验证 archlinux 签名

我如何验证我的 archlinux iso?

gpg --verify archlinux-2020.06.01-x86_64.iso.sig archlinux-2020.06.01-x86_64.iso
gpg: Signature made Mo 01 Jun 2020 11:53:53 CEST
gpg:                using RSA key 4AA4767BBC9C4B1D18AE28B77F2D434B9741E8AC
gpg: Can't check signature: No public key

我丢失了公钥,但我到底在哪里可以下载它。还有一个 sha1,但是我应该用它做什么呢?

答案1

校验和旨在与相应程序的(“check”)选项一起使用-c,从您下载 ISO/存档文件和文件的目录运行它*sums.txt

$ sha1sum -c sha1sums.txt 
archlinux-2020.06.01-x86_64.iso: OK

(为了清楚起见,省略了有关丢失文件(我没有下载)的错误消息)。

有关如何验证下载文件签名的说明可以在安装指南,Arch Wiki 的一部分:

$ gpg --keyserver-options auto-key-retrieve --verify archlinux-2020.06.01-x86_64.iso.sig

如果您没有在工作的 Arch Linux 系统上运行它,您gpg可能无法从它知道的密钥服务器中检索所需的密钥。然后,您可以尝试添加--keyserver=hkp://pool.sks-keyservers.net到您的命令中(从当前工作的 Arch 的 pacman 配置中选取的 URL)。

相反,如果您已经有一个正在运行的 Arch,那么您也拥有所需的公钥 - 只是不在您自己的密钥环中:

$ gpg --homedir=/etc/pacman.d/gnupg --verify archlinux-2020.06.01-x86_64.iso.sig

答案2

我在 Ubuntu 20.04 上,也遇到了同样的问题,我所做的解决方法是获得公钥(如果我做错了什么,请有人纠正我):

curl https://git.archlinux.org/archlinux-keyring.git/plain/packager/pierre.asc > archpub.key

然后我将此公钥导入到我的 gpg 密钥环中(我认为):

gpg --import archpub.key

然后我能够验证签名(使用同一目录中的 .iso 和 .sig 文件):

gpg --verify archlinux-2021.05.01-x86_64.iso.sig 

这是该命令打印回来的内容:

gpg: assuming signed data in 'archlinux-2021.05.01-x86_64.iso'
gpg: Signature made Sat 01 May 2021 01:24:14 AM EDT
gpg:                using RSA key 4AA4767BBC9C4B1D18AE28B77F2D434B9741E8AC
gpg: Good signature from "Pierre Schmitz <[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: 4AA4 767B BC9C 4B1D 18AE  28B7 7F2D 434B 9741 E8AC

希望这对某人有帮助!我尝试使用导入公钥--keyserver=hkp://pool.sks-keyservers.net,但由于某种原因它对我不起作用。

相关内容