Gpg
無法驗證核心簽名“gpg:無法檢查簽名:找不到公鑰”
為了在我的 Debian jessie 上編譯新核心,我正在嘗試按照官方網站上的說明驗證 GPG 密鑰。
我已經下載了
linux-3.18.35.tar.sign
和linux-3.18.35.tar.xz
版本並使用unzx
.使用命令驗證
.tar
存檔:gpg --verify linux-3.18.35.tar.sign
我得到:
gpg: assuming signed data in `linux-3.18.35.tar' gpg: Signature made Wed 08 Jun 2016 01:19:29 AM CET using RSA key ID 6092693E gpg: Can't check signature: public key not found
從 PGP 密鑰伺服器獲取公鑰:
#gpg --keyserver hkp://keys.gnupg.net --recv-keys 6092693E gpg: requesting key 6092693E from hkp server keys.gnupg.net ?: keys.gnupg.net: Host not found gpgkeys: HTTP fetch error 7: couldn't connect: Connection refused gpg: no valid OpenPGP data found. gpg: Total number processed: 0
4.4.13
我的版本也有類似的問題。我嘗試了以下答案,
# gpg --keyserver subkeys.pgp.net --recv-keys 6092693E && gpg --export --armor 6092693E | sudo apt-key add - gpg: requesting key 6092693E from hkp server subkeys.pgp.net gpg: keyserver timed out gpg: keyserver receive failed: keyserver error
和:
# gpg --keyserver subkeys.pgp.net:80 --recv-keys 6092693E gpg: requesting key 6092693E from subkeys.pgp.net:80 gpgkeys: no keyserver host provided gpg: keyserver internal error gpg: keyserver receive failed: keyserver error
如何正確驗證核心簽名?
您只需要在您的密鑰環中有公鑰:
gpg --keyserver subkeys.pgp.net --recv-keys 0x38DBBDC86092693E
(使用長標識符!)。如果超時,請重試 - 有多個伺服器,其中一些目前似乎有問題。
apt-key
等根本不參與其中。一旦你的鑰匙圈裡有鑰匙,
gpg --verify linux-3.18.35.tar.sign
應該管用。
您也可以改為配置密鑰伺服器池(無論如何這是個好主意):
- 安裝
gnupg-curl
(apt-get install gnupg-curl
在 Debian 上);- 下載 SKS CA
cd ~/.gnupg; wget https://sks-keyservers.net/sks-keyservers.netCA.pem
- 驗證它;
- 將以下行添加到您的
~/.gnupg/gpg.conf
,或者如果它已經存在則更改它:keyserver hkps://hkps.pool.sks-keyservers.net
並通過添加設置證書
keyserver-options ca-cert-file=/home/.../.gnupg/sks-keyservers.netCA.pem
到
~/.gnupg/gpg.conf
(對於 GnuPG 1)或keyserver hkps://hkps.pool.sks-keyservers.net hkp-cacert /home/.../.gnupg/sks-keyservers.netCA.pem
到
~/.gnupg/dirmngr.conf
(對於 GnuPG 2),...
在這兩種情況下都將路徑中的 替換為您的主目錄的適當值。一旦你這樣做了,
gpg --recv-keys 0x38DBBDC86092693E
應該可靠地檢索密鑰。
如果一切都失敗了,您可以手動下載並導入密鑰:
curl 'http://pgp.surfnet.nl:11371/pks/lookup?op=get&search=0x38DBBDC86092693E' > gregkh.key gpg --import gregkh.key