키를 요청할 때 pgp 키 서버가 응답하지 않는 이유는 무엇입니까?

키를 요청할 때 pgp 키 서버가 응답하지 않는 이유는 무엇입니까?

다양한 주요 서버를 사용하여 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}

다른 여러 키 서버에서는 내가 요청한 키에 대해 "결과를 찾을 수 없습니다"라고 말합니다.

  • 무슨 일이야? 일시적인 문제인가요? 그런데 왜 모든 주요 서버가 동시에 오프라인 상태가 될까요?
  • 내 연결에 의해 차단되는 모든 키 서버에 대한 액세스와 관련이 있습니까?(그러면 실패할 웹 인터페이스에 연결할 수 있는 이유는 무엇입니까?)
  • 잘못된 문자열을 검색하고 있는 것인가요? 난 그렇게 생각하지 않아; 여러 가지 다른 항목을 검색했는데, 여기 예시의 항목(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. 그쪽에 더 많은 정보가 있어요웹 페이지.

usig를 키 서버로 사용해 보았는데 pool.sks-keyservers.net명령이 문제 없이 키를 가져올 수 있었습니다.

따라서 귀하의 질문을 요약하고 답변해 드리면 다음과 같습니다.

  • 키서버는 때때로 신뢰할 수 없는 것 같습니다. 어쩌면 해당 키 서버가 요즘에는 오래되고 유지 관리되지 않을 수도 있고, 일시적으로 오프라인 상태이거나 그냥 죽었을 수도 있습니다. pool.sks-keyservers.net지금은 기능적이고 신뢰할 수 있는 것처럼 보이지만 시간이 지남에 따라 변경될 수 있습니다.
  • 이러한 키 서버에 대한 웹 인터페이스는 브라우저에서 페이지를 렌더링할 수 있지만 키가 저장된 기본 키 서버가 다운된 경우 키 조회가 실패할 수 있거나 서버가 다른 키 서버와 동기화되지 않은 경우 키를 찾지 못할 수 있습니다.

관련 정보