apt 키에 대해 차단 된 아웃 바운드 hkp 포트를 해결하는 방법


35

우분투 9.10을 사용하고 있으며 적절한 저장소를 추가해야합니다. 불행히도, 실행할 때 sudo apt-get update다음 과 같은 메시지가 나타납니다 .

W: GPG error: http://ppa.launchpad.net karmic Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5A9BF3BB4E5E17B5
W: GPG error: http://ppa.launchpad.net karmic Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1DABDBB4CEC06767

따라서이 리포지토리의 키를 설치해야합니다. 9.10에서 우리는 이제 이것을 할 수있는 옵션이 있습니다 :

sudo add-apt-repository ppa:nvidia-vdpau/ppa

자세한 내용은 이 Ubuntu 도움말을 참조 하십시오.

이것은 방화벽 뒤의 워크 스테이션에서 이것을 실행하고 Windows와 IE를 실행하는 비서가 요구하는 포트를 제외한 거의 모든 포트에 대한 아웃 바운드 연결을 차단한다는 점을 제외하고는 훌륭합니다.

해당 포트는 hkp 서비스, 포트 11371입니다.

키를 수동으로 다운로드하여 apt의 키 링에 설치하는 방법이 있습니다. add-apt-repository 또는 wget을 사용하거나 다른 서버에서 키를 다운로드하여 포트 80에서 사용할 수 있도록하는 방법이있을 수도 있습니다.

그러나 아직 아직 간결한 단계를 찾지 못했습니다. 내가 찾고있는 것은 :

  1. apt-package에 대한 공개 키를 찾는 방법 (이를 포함하는 리소스에 대한 권장 사항 및 / 또는 검색 팁. 키 해시 검색이 지금까지 효과적이지 않은 것 같습니다.)
  2. 키를 검색하는 방법 (gpg 또는 add-apt-repository를 사용하여 자동으로 수행 할 수 있습니까?)
  3. apt의 키링에 키를 추가하는 방법

미리 감사드립니다.

답변:


38

이것은 다가오는 우분투의 Natty 버전에서 수정되었습니다 : https://launchpad.net/ubuntu/natty/+source/software-properties/0.78.1

이전 버전을 사용하는 사용자는 ppa.py를 편집해야합니다.

sudo gedit /usr/lib/python2.6/dist-packages/softwareproperties/ppa.py

그것이 말하는 곳 :

keyserver.ubuntu.com

로 변경:

hkp://keyserver.ubuntu.com:80

저장하고 종료 한 다음 잘 진행하십시오.


1
굉장-내 문제를 해결했습니다!
Fedearne

13
10.10에서는이 소스 파일을 편집하는 대신 간단히 다음과 같이 호출 할 수 있습니다.sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys KEY_HASH
l0b0

hkp://keyserver.ubuntu.com:8010.04에서도 작동합니다.
bd808

1
사용 +1--keyserver hkp://keyserver.ubuntu.com:80
rogeriolino

19
sudo apt-key adv --keyserver keyserver.ubuntu.com --keyserver-options http-proxy=http://proxy:port --recv-keys KEYID

13

내가 사용한 한 가지 해결 방법이 있습니다.

회사 방화벽을 넘어 자유 세계에서 리눅스 서버에 로그인하여 다음과 같이했습니다.

gpg --keyserver keyserver.ubuntu.com --recv 1DABDBB4CEC06767 && gpg --export --armor 1DABDBB4CEC06767

그런 다음 내 워크 스테이션에서이를 실행하고 위 명령 (공개 키)의 출력을 stdin에 붙여 넣은 다음 control-D를 붙여 넣습니다.

sudo apt-key add -

그런 다음 sudo apt-get update문제없이 달릴 수있었습니다 .

나는 여전히 더 좋은 방법이 있어야한다고 생각합니다.


"자유로운 세상에서 리눅스 서버에 로그 아웃했다" hkp가 차단 된 경우에도이를 수행 할 수 없을 것입니다.
gertvdijk

^ 아마도 당신이 일부 비잔틴 IT 부서가 아닌 억압 체제에 살고 있다고 가정합니다. VPN을 사용하고있을 때 원하는 곳 어디에서나 SSH를 사용할 수 있지만 DNS 패킷은없고 HKP도없는 것 같습니다. 이것은 내가 필요한 것입니다.
Kingdon

8

프록시 외부의 다른 Linux 서버를 프록시로 찾을 수없는 경우 유용 할 수있는 또 다른 해결 방법이 있습니다. "get 0x1DABDBB4CEC06767"과 같은 제목으로 "pgp-public-keys@pgp.mit.edu"로 이메일을 보내십시오. 그러나 아마도 이것을 자동화하기 위해 간단한 스크립트를 작성할 수는 없습니다.


5

키 서버의 웹 사이트 (예 : http://wwwkeys.eu.pgp.net/ )로 이동할 수 있습니다. 키 서명 검색 (16 진수 서명에 0x를 추가해야 함), 즉 0x1DABDBB4CEC06767.

원하는 링크를 클릭하여 텍스트를 컴퓨터의 파일에 붙여 넣습니다.

cat > <filename>

[PASTE]

[Ctrl-C]

그때

apt-key add <filename>

이것은 나에게 잘 작동했다. 내 작업 프록시가 많은 "비표준"포트를 차단하는 것 같습니다.


이것이 나를 위해 일한 유일한 방법입니다. 프록시가 hkp 프로토콜을 과도하게 차단하고 있으며 포트 80을 사용하더라도 gpg는 여전히 서버 연결 시간을 초과합니다. 이 방법으로 마침내 키를 추가 할 수있었습니다.
Alexander Amelkin

4

www 트래픽을 위해 항상 열려있는 포트 80을 통해 단일 명령 으로이 작업을 수행하는 깔끔한 방법을 찾았습니다.

http://gurrier.wordpress.com/2010/10/02/downlolading-repo-keys-from-behind-a-corporate-firewall/


2
apt-key adv --keyserver hkp : //keyserver.ubuntu.com : 80 --recv-keys ...
vorburger

1
안녕하세요, 수퍼 유저입니다. 질문에 답변 할 때는 답변 자체에 솔루션으로 질문에 답변하십시오. 언급 한 사이트가 사이트를 유지한다고 보장 할 수 없으며 사이트가 다운되면 귀하의 답변은 가치가 없습니다.
Mogget

2

간단한 해결책은 다음과 같습니다.

sudo add-apt-repository --keyserver hkps://keyserver.ubuntu.com:443 some_ppa

보안 https (발신 443)는 방화벽에 의해 차단되지 않습니다.


1

간단히 ssh를 사용하여 포트를 외부 호스트로 전달한 다음 apt-add-repo명령 을 실행하십시오 .

ssh -fqTnN -D 11371 <user@host>

-1

나는 gpg와 같은 문제가있었습니다. 서버 이름에 포트를 추가하는 해결 방법은 내 ~/.gnupg/gpg.conf파일 을 편집하여 작동했습니다 . 그러나 여전히 sysadmin에게 아웃 바운드 포트 11371을 열도록 요청할 것이므로 다시 걱정할 필요가 없습니다.


포트? 구성에서 포트 (11371)를 지정하면 방화벽에서 어떻게 작동합니까?
0xC0000022L
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.