web-dev-qa-db-fra.com

Comment contourner le port hkp sortant bloqué pour les clés apt

J'utilise Ubuntu 9.10, et j'ai besoin d'ajouter quelques dépôts apt. Malheureusement, je reçois des messages comme celui-ci lors de l'exécution de 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

Donc, je dois installer les clés pour ces dépôts. Sous 9.10, nous avons maintenant la possibilité de faire ceci:

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

Voir cet article d'aide sur Ubuntu pour plus de détails.

C’est formidable, sauf que je l’utilise sur un poste de travail protégé par un pare-feu qui bloque les connexions sortantes sur pratiquement tous les ports, à l’exception de ceux requis par les secrétaires exécutant Windows et IE.

Le port en question ici est le service hkp, port 11371.

Il semble y avoir des moyens de télécharger manuellement les clés et de les installer sur le trousseau d'apt. Il peut même y avoir un moyen d'utiliser add-apt-repository ou wget ou quelque chose de télécharger une clé à partir d'un autre serveur le rendant disponible sur le port 80.

Cependant, je n'ai pas encore trouvé un ensemble concis d'étapes pour le faire. Ce que je recherche, c'est:

  1. Comment trouver une clé publique pour un apt-paquet (recommandations pour les ressources qui en possèdent, et/ou astuces pour la recherche. Rechercher le hachage de la clé ne semble pas si efficace à ce jour.)
  2. Comment récupérer une clé (peut-on le faire automatiquement en utilisant gpg ou add-apt-repository?)
  3. Comment ajouter une clé au trousseau d'apt

Merci d'avance.

35
Kief

Ce problème a été résolu dans la prochaine version Natty d’Ubuntu: https://launchpad.net/ubuntu/natty/+source/software-properties/0.78.1

Ceux qui utilisent une version antérieure doivent modifier ppa.py:

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

Où il est dit:

keyserver.ubuntu.com

changer à:

hkp://keyserver.ubuntu.com:80

Sauvegardez, quittez, alors vous êtes prêt à partir.

38
Phil Bradley
Sudo apt-key adv --keyserver keyserver.ubuntu.com --keyserver-options http-proxy=http://proxy:port --recv-keys KEYID
18
user46707

Voici une solution de contournement que j'ai utilisée:

J'ai ouvert une session sur un serveur Linux du monde libre au-delà de notre pare-feu d'entreprise et j'ai procédé comme suit:

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

Ensuite, sur mon poste de travail, je l'ai exécuté et ai collé le résultat de la commande ci-dessus (la clé publique) dans le stdin, suivi de control-D:

Sudo apt-key add -

Ensuite, j'ai pu exécuter Sudo apt-get update sans problèmes.

Je pense toujours qu'il doit y avoir un meilleur moyen, idéalement quelque chose que je pourrais utiliser comme script.

13
Kief

J'ai une autre solution de contournement ici qui pourrait être utile si vous ne pouvez pas trouver un autre serveur Linux en dehors de votre réseau en tant que proxy. Il suffit d'envoyer un email à "[email protected]" comme sujet comme "get 0x1DABDBB4CEC06767". Mais vous ne pouvez probablement toujours pas écrire un script simple pour automatiser cela.

8
Roger Choi

Vous pouvez aller sur le site Web du serveur de clés, par exemple. http://wwwkeys.eu.pgp.net/ Recherchez la signature de clé (vous devez ajouter 0x à la signature hexadécimale), à ​​savoir 0x1DABDBB4CEC06767.

Cliquez sur le lien que vous souhaitez obtenir et collez le texte dans un fichier sur la machine, c.-à-d.

cat > <filename>

[PASTE]

[Ctrl-C]

Ensuite

apt-key add <filename>

CA marchait bien pour moi; il semble que mon proxy de travail bloque beaucoup de ports "non standard".

5
CJBrew

J'ai trouvé un moyen judicieux de le faire en une seule commande via le port 80, toujours ouvert au trafic www.

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

4
tony

Une solution simple est:

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

Le https sécurisé (443 sortant) ne serait pas bloqué par le pare-feu.

2
Thien Pham

J'utilise simplement ssh pour transférer le port vers un hôte externe, puis exécutez la commande apt-add-repo.

ssh -fqTnN -D 11371 <user@Host>
1
Thermionix