sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 명령이 오류를 반환 함


30

Ubuntu 12에 Mongodb를 설치하려고 하는데이 명령을 실행할 때
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
아래 오류가 발생했습니다.

keyserver.ubuntu.com 호스트를 찾을 수 없습니다
keyserver.ubuntu.com gpgkeys를 없음 : HTTP 페치 오류 7 : 연결할 수 없음 : 해당 파일 또는 디렉토리가
없습니다 gpg : 올바른 openPGP 데이터가 없습니다
. gpg : 총 프로세스 수 : 0

Iptables에서 방화벽을 해제했지만 작동하지 않습니다. 어떤 아이디어가 있습니까?


시스템이 keyserver.ubuntu.com을 IP 주소로 확인할 수 있습니까? 즉, 출력은 dig keyserver.ubuntu.com무엇입니까?
Xyon

답변:


35

이것은 실제로 키 서버를 찾는 데 문제가되지 않을 수 있습니다. 이는 오류가 제안하는 것입니다. apt-key 명령은 gpg를 호출하여 키 서버에 액세스하려고 시도합니다. 키 서버에 요청한 키가없는 경우 gpg에 버그가있는 것 같습니다. gpg는이를 "호스트를 찾을 수 없음"으로 잘못 해석합니다.

응답하지 않는 키 서버가 동일한 작업을 수행 할 수 있으며 키 서버가 차단 된 환경 (회사 방화벽 규칙)을 보았으므로 액세스 할 수없는 업스트림 방화벽이있는 경우 근본 원인이 될 수 있습니다. 에.

참고로 키가 있고 키 서버가 현재 나를 위해 응답합니다.

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.rh1myoBdSE --trustdb-name /etc/apt//trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv 7F0CEB10
gpg: requesting key 7F0CEB10 from hkp server keyserver.ubuntu.com
gpg: key 7F0CEB10: "Richard Kreuter <richard@10gen.com>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

포트가 문제 일 수 있습니다 (회사 방화벽 문제가 마지막으로 발생했을 때). 대신 표준 HTTP 포트 (80) 에서이 작업을 시도하십시오.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

4
"대신 표준 HTTP 포트 (80)에서이 작업을 수행하는"것은 까다 롭습니다! tks
Bill.Zhuang

1
경고 : SSL을 사용하지 않으면 지문의 마지막 8자가 동일한 ( 예 : 공격 키 ) 를 제공 하는 MitM 공격 이 발생할 수 있습니다 . 이러한 키는 공개적으로 공유되지 않을 수도 있으므로, 당신은 자신이 wn다는 것을 결코 알지 못할 것입니다. 공개적으로 공유 된 키에 의한 이러한 공격을 막기 위해 데비안의 키 서버 에는 "데비안 키 링의 키만…이 서버에서 반환됩니다"라는 정책이 있습니다.
Adam Katz

21

내 컴퓨터가 회사 프록시 뒤에있는 것과 같은 문제에 직면했습니다. gpg --keyserver-option http-proxy트릭을 추가하여 트릭을 만들었습니다. 다음과 같습니다.

sudo apt-key adv --keyserver-options http-proxy=<myProxy> --keyserver keyserver.ubuntu.com --recv 7F0CEB10

1
감사! 내가 정상에서 독서를 중단하지 않았다 좋은 ...
Moraru Lilian

20

예를 들어 회사의 프록시와 같은 프록시를 사용하는 경우 유일한 방법은 수동으로 입력하는 것입니다. 운영:

sudo apt-get update

pub_key의 id를 얻습니다. 그런 다음 http://keyserver.ubuntu.com/으로 이동하여 16 진수로 키 7936A783B를 검색 하십시오 (예 : 키가 이면0x7936A783B . 강아지 링크를 클릭하고 키 내용을 복사하여 txt 파일로 저장하십시오. 터미널로 이동하여 파일을 탐색하고 다음을 실행하십시오.

sudo apt-key add key.txt

작동하면 간단한 OK피드백을받습니다. 모든 키가 추가되면 다음을 실행할 수 있습니다.

sudo apt-get update

그리고 당신은 그것을 가지고 있습니다!


3
깔끔하다. apt-key다음과 같이 그대로 사용하는 URL을 사용할 수도 있습니다 .apt-key adv --fetch-keys http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xD6ACA1C817B18ABC
sxc731

2
@ sxc731 일 - apt-key매뉴얼 페이지 말한다 : "이 관리하지 않고 사용할 경우 완전히 APT-보안 (8) 인프라를 훼손하기 쉬운, 그래서 어떤 검사가 수행되지가하는 것으로."이 방법은 당신이 정말로 없이 그렇게하고 싶지 않아 SSL. 로 변경 --fetch-keys https://…하면 합리적으로 안전해야합니다.
아담 카츠

@AdamKatz 아주 좋은 지적, 감사합니다. 불행히도 난 당신의 제안을 적용하기 위해 내 의견을 편집 할 수 없지만 어쨌든 upvoted ...
sxc731

--fetch-keys: 오류 나를 위해 실패 옵션 https://keyserver.ubuntu.com/pks/lookup?op=get gpgkeys: protocol 은 https 'GPG를 지원하지 : 키 서버 체계도 핸들러https' gpg: WARNING: unable to fetch URI https://keyserver.ubuntu.com/pks/lookup?op=get: keyserver error
miguelmorin

고마워, 내가 찾던 정확히.
미겔 오티즈

1

링크 에서 언급 한 두 번째 접근법 은 저에게 효과적이었습니다. 키를 수동으로 다운로드하여 추가하십시오. 이 링크는 누락 된 키로 인해 발생하는 오류를 해결하기위한 단계별 절차를 제공합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.