
我嘗試使用各種關鍵伺服器的 Linux 命令列(Arch Linux 核心 4.18.16 上的 bash 4.4.23):
$ gpg -v --keyserver subkeys.pgp.net --recv-keys F434104235DA97EB
gpg: using character set 'utf-8'
gpg: keyserver receive failed: Server indicated a failure
$ gpg -v --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys F434104235DA97EB
gpg: using character set 'utf-8'
gpg: keyserver receive failed: Server indicated a failure
$ gpg --debug-level 9 --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys F434104235DA97EB
gpg: enabled debug flags: packet mpi crypto filter iobuf memory cache memstat trust ipc clock lookup extprog
gpg: DBG: [not enabled in the source] start
gpg: DBG: chan_3 <- # Home: /home/user/.gnupg
gpg: DBG: chan_3 <- # Config: /home/user/.gnupg/dirmngr.conf
gpg: DBG: chan_3 <- OK Dirmngr 2.2.11 at your service
gpg: DBG: connection to the dirmngr established
gpg: DBG: chan_3 -> GETINFO version
gpg: DBG: chan_3 <- D 2.2.11
gpg: DBG: chan_3 <- OK
gpg: DBG: chan_3 -> KEYSERVER --clear hkp://keyserver.ubuntu.com:80
gpg: DBG: chan_3 <- OK
gpg: DBG: chan_3 -> KS_GET -- 0xF434104235DA97EB
gpg: DBG: chan_3 <- ERR 167772379 Server indicated a failure <Dirmngr>
gpg: keyserver receive failed: Server indicated a failure
gpg: DBG: chan_3 -> BYE
gpg: DBG: [not enabled in the source] stop
gpg: keydb: handles=0 locks=0 parse=0 get=0
gpg: build=0 update=0 insert=0 delete=0
gpg: reset=0 found=0 not=0 cache=0 not=0
gpg: kid_not_found_cache: count=0 peak=0 flushes=0
gpg: sig_cache: total=0 cached=0 good=0 bad=0
gpg: random usage: poolsize=600 mixed=0 polls=0/0 added=0/0
outmix=0 getlvl1=0/0 getlvl2=0/0
gpg: rndjent stat: collector=0x0000000000000000 calls=0 bytes=0
gpg: secmem usage: 0/32768 bytes in 0 blocks
$
我嘗試了網頁介面https://pgp.surfnet.nl/。它響應
暫停服務
由於維護停機或容量問題,伺服器暫時無法滿足您的請求。請稍後再試。
我嘗試了網頁介面https://pgp.mit.edu。它回應:
代理錯誤
代理伺服器從上游伺服器收到無效回應。代理伺服器無法處理請求 GET /pks/lookup。
原因:從遠端伺服器讀取時出錯
我嘗試了網頁介面https://pgp.key-server.io回復是:
Hint! Double-check if the keyserver is up and running at the expected address:port (127.0.0.1:11369).
cURL error 52: Empty reply from server
#0 /var/www/pgp.key-server.io/vendor/guzzlehttp/guzzle/src/RequestFsm.php(103): GuzzleHttp\Exception\RequestException::wrapException(Object(GuzzleHttp\Message\Request), Object(GuzzleHttp\Ring\Exception\ConnectException))
#1 /var/www/pgp.key-server.io/vendor/guzzlehttp/guzzle/src/RequestFsm.php(132): GuzzleHttp\RequestFsm->__invoke(Object(GuzzleHttp\Transaction))
#2 /var/www/pgp.key-server.io/vendor/react/promise/src/FulfilledPromise.php(25): GuzzleHttp\RequestFsm->GuzzleHttp\{closure}(Array)
#3 /var/www/pgp.key-server.io/vendor/guzzlehttp/ringphp/src/Future/CompletedFutureValue.php(55): React\Promise\FulfilledPromise->then(Object(Closure), NULL, NULL)
#4 /var/www/pgp.key-server.io/vendor/guzzlehttp/guzzle/src/Message/FutureResponse.php(43): GuzzleHttp\Ring\Future\CompletedFutureValue->then(Object(Closure), NULL, NULL)
#5 /var/www/pgp.key-server.io/vendor/guzzlehttp/guzzle/src/RequestFsm.php(134): GuzzleHttp\Message\FutureResponse::proxy(Object(GuzzleHttp\Ring\Future\CompletedFutureArray), Object(Closure))
#6 /var/www/pgp.key-server.io/vendor/guzzlehttp/guzzle/src/Client.php(165): GuzzleHttp\RequestFsm->__invoke(Object(GuzzleHttp\Transaction))
#7 /var/www/pgp.key-server.io/vendor/jenssegers/proxy/src/Adapter/Guzzle/GuzzleAdapter.php(54): GuzzleHttp\Client->send(Object(GuzzleHttp\Message\Request))
#8 /var/www/pgp.key-server.io/vendor/jenssegers/proxy/src/Proxy.php(80): Proxy\Adapter\Guzzle\GuzzleAdapter->send(Object(Symfony\Component\HttpFoundation\Request), 'http://127.0.0....')
#9 /var/www/pgp.key-server.io/src/ctubio/HKPProxy/Keyserver/Router.php(46): Proxy\Proxy->to('http://127.0.0....')
#10 /var/www/pgp.key-server.io/src/ctubio/HKPProxy/Keyserver/Router.php(14): ctubio\HKPProxy\Keyserver\Router::getHKPResponse('/pks/lookup?sea...')
#11 /var/www/pgp.key-server.io/src/ctubio/HKPProxy/Keyserver.php(19): ctubio\HKPProxy\Keyserver\Router::getResponse()
#12 /var/www/pgp.key-server.io/pub/php-proxy-keyserver.php(14): ctubio\HKPProxy\Keyserver::getResponse()
#13 {main}
其他各種密鑰伺服器對我請求的任何密鑰都說“未找到結果”。
- 到底是怎麼回事?這是暫時的問題嗎?但為什麼所有關鍵伺服器會同時離線呢?
- 這是否與我的連接阻止訪問每個關鍵伺服器有關(那麼為什麼我可以訪問隨後會失敗的 Web 介面?)?
- 是不是我正在搜尋無效的字串?我不這麼認為;我搜尋了許多不同的,這裡範例中的那個(F434104235DA97EB)應該是那個簽了這個github上的包包...
- 是不是我沒有連接到正確的密鑰伺服器?
答案1
我嘗試了你的命令subkeys.pgp.net
並遇到了同樣的問題。我搜尋了一些關於該密鑰伺服器的信息,除了人們抱怨它失敗之外,我沒有找到任何相關內容。keyserver.ubuntu.com
不過對我有用。
[編輯]既然@blubberdiblub
注意到了,pool.sks-keyservers.net
密鑰伺服器也消失了。嘗試其中之一:
hkps://keys.gnupg.net
hkps://keyserver.ubuntu.com
hkps://keys.openpgp.org
舊答案不再有效,但可能可供參考
根據這有一個由其他更可靠的密鑰伺服器池組成的密鑰伺服器。這個是:pool.sks-keyservers.net
。還有更多關於它的信息網頁。
我嘗試使用igpool.sks-keyservers.net
作為密鑰伺服器,並且該命令能夠毫無問題地導入密鑰。
因此,總結並回答您的問題:
- 密鑰伺服器有時似乎不可靠。也許這些密鑰伺服器現在已經陳舊且無人維護,它們可能暫時離線或只是當機。
pool.sks-keyservers.net
目前看來功能正常且可靠,但這可能會隨著時間的推移而改變。 - 這些密鑰伺服器的Web 介面可能會在您的瀏覽器上呈現一個頁面,但如果儲存密鑰的底層密鑰伺服器已關閉,則密鑰查找可能會失敗,或者如果伺服器未與其他密鑰伺服器同步,則它們可能找不到密鑰。