So umgehen Sie den blockierten ausgehenden hkp-Port für apt-Schlüssel

41658
Kief

Ich verwende Ubuntu 9.10 und muss einige geeignete Repositorys hinzufügen. Leider bekomme ich beim Laufen solche Meldungensudo 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 

Also muss ich die Schlüssel für diese Repositories installieren. Unter 9.10 haben wir jetzt die Möglichkeit dazu:

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

Sehen Informationen finden diesem Ubuntu- Hilfeartikel.

Das ist großartig, außer dass ich dies auf einer Workstation hinter einer Firewall ausführte, die ausgehende Verbindungen zu fast allen Ports außer denjenigen, die von Sekretären mit Windows und IE benötigt werden, blockiert.

Hierbei handelt es sich um den hkp-Dienst, Port 11371.

Es scheint Möglichkeiten zu geben, Schlüssel manuell herunterzuladen und auf dem apt-Schlüsselring zu installieren. Möglicherweise gibt es sogar eine Möglichkeit, add-apt-repository oder wget oder etwas zu verwenden, um einen Schlüssel von einem alternativen Server herunterzuladen und auf Port 80 verfügbar zu machen.

Ich habe jedoch noch keine präzisen Schritte dafür gefunden. Was ich suche, ist:

  1. So finden Sie einen öffentlichen Schlüssel für ein apt-Paket (Empfehlungen für Ressourcen, die diese enthalten, und / oder Tipps zur Suche. Die Suche nach dem Schlüssel-Hash scheint bis jetzt nicht wirklich effektiv zu sein.)
  2. Wie kann ich einen Schlüssel abrufen (kann er automatisch mit gpg oder add-apt-repository durchgeführt werden?)
  3. So fügen Sie einen Schlüssel zu apts Schlüsselring hinzu

Danke im Voraus.

34

9 Antworten auf die Frage

38
Phil Bradley

Dies wurde in der kommenden Natty-Version von Ubuntu behoben: https://launchpad.net/ubuntu/natty/+source/software-properties/0.78.1

Diejenigen, die eine ältere Version verwenden, müssen ppa.py bearbeiten:

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

Wo steht:

keyserver.ubuntu.com 

ändern:

hkp://keyserver.ubuntu.com:80 

Speichern, beenden, dann ist es hoffentlich gut zu gehen.

Genial - mein Problem gelöst! Fedearne vor 13 Jahren 1
Anstatt diese Quelldatei zu bearbeiten, könnte ich am 10.10 einfach "sudo apt-key adv --keyserver hkp: //keyserver.ubuntu.com: 80 --recv-keys KEY_HASH" aufrufen l0b0 vor 12 Jahren 12
`hkp: //keyserver.ubuntu.com: 80` funktioniert auch am 10.04. bd808 vor 12 Jahren 0
+1 für die Verwendung von `--keyserver hkp: //keyserver.ubuntu.com: 80` rogeriolino vor 9 Jahren 1
18
user46707
sudo apt-key adv --keyserver keyserver.ubuntu.com --keyserver-options http-proxy=http://proxy:port --recv-keys KEYID 
13
Kief

Hier ist eine Problemumgehung, die ich verwendet habe:

Ich habe mich bei einem Linux-Server außerhalb der freien Firewall außerhalb der Firewall des Unternehmens angemeldet und Folgendes getan:

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

Dann habe ich auf meiner Workstation das ausgeführt und die Ausgabe des obigen Befehls (den öffentlichen Schlüssel) in das stdin eingefügt, gefolgt von control-D:

sudo apt-key add - 

Dann konnte ich sudo apt-get updateohne Probleme laufen .

Ich denke immer noch, dass es einen besseren Weg geben muss, idealerweise etwas, das ich schreiben könnte.

* "Ich habe mich an einem Linux-Server außerhalb der freien Welt angemeldet" * Es ist unwahrscheinlich, dass dies möglich ist, auch wenn hkp blockiert ist. gertvdijk vor 11 Jahren 0
Ich nehme an, Sie leben in einem repressiven Regime und nicht in einer byzantinischen IT-Abteilung. Ich kann SSH überall, wo ich möchte, wenn ich über ein VPN bin, aber keine DNS-Pakete (und anscheinend kein HKP.). Genau das brauchte ich. Kingdon vor 7 Jahren 0
8
Roger Choi

Ich habe hier eine andere Problemumgehung, die nützlich sein könnte, wenn Sie keinen anderen Linux-Server als Proxy außerhalb Ihres Netzwerks finden. Senden Sie einfach eine E-Mail an "pgp-public-keys@pgp.mit.edu" als Betreff wie "get 0x1DABDBB4CEC06767". Sie können jedoch wahrscheinlich immer noch kein einfaches Skript schreiben, um dies zu automatisieren.

5
CJBrew

You could go to the web site of the keyserver, e.g. http://wwwkeys.eu.pgp.net/ Search for the key signature (you need to add 0x to the hex signature) i.e. 0x1DABDBB4CEC06767.

Click on the link you'll hopefully get and paste the text into a file on the machine, i.e.

cat > <filename> [PASTE] [Ctrl-C] 

Then

apt-key add <filename> 

This worked fine for me; it appears my work proxy blocks a lot of "non-standard" ports.

Dies ist der einzige Weg, der für mich funktioniert hat. Mein Proxy blockiert stark das Protokoll hkp, und selbst wenn ich Port 80 verwende, ruft gpg immer noch heraus, wenn er einen Server kontaktiert. Auf diese Weise konnte ich endlich den Schlüssel hinzufügen. Alexander Amelkin vor 8 Jahren 0
4
tony

Ich habe einen ordentlichen Weg gefunden, dies in einem einzigen Befehl über Port 80 zu tun, der für den WWW-Verkehr immer offen ist.

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

apt-key adv --keyserver hkp: //keyserver.ubuntu.com: 80 --recv-keys ... vorburger vor 10 Jahren 2
Hallo und herzlich willkommen bei Superuser. Beantworten Sie die Frage mit der Lösung in der Antwort selbst, wenn Sie Fragen beantworten. Es gibt keine Garantie dafür, dass die Website, auf die Sie sich bezogen haben, die Website aufrechterhalten kann. Wenn sie ausfällt, ist Ihre Antwort wertlos. Mogget vor 9 Jahren 1
1
Thermionix

Ich verwende einfach ssh, um den Port an einen externen Host weiterzuleiten, und führe dann den apt-add-repoBefehl aus.

ssh -fqTnN -D 11371 <user@host> 
0
Thien Pham

Eine einfache Lösung ist:

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

Das sichere https (ausgehend 443) wird von der Firewall nicht blockiert.

-1
Patrick Salami

Ich hatte das gleiche Problem mit gpg. Die Problemumgehung mit dem Hinzufügen des Ports zum Servernamen funktionierte beim Bearbeiten meiner ~/.gnupg/gpg.confDatei. Ich werde jedoch immer noch unseren Sysadmin bitten, den Outbound-Port 11371 zu öffnen, sodass ich mich nicht mehr darum kümmern muss.

_Der Hafen? Wie funktioniert die Angabe des Ports (11371) in der Konfiguration um die Firewall? 0xC0000022L vor 8 Jahren 0