Récupérer les clefs GPG des dépôts sur Ubuntu quand on est derrière un pare-feu

Voici le tableau : vous êtes dans votre chambre de cité U, ou peut-être au bureau, et vous tom­bez sur un joli PPA que vous dési­rez ajou­ter illico aux sources de votre Ubuntu. Pas de pro­blème, vous dites-vous in petto : on ouvre un ter­mi­nal et

$ sudo add-apt-repository ppa:freetuxtv/freetuxtv

Et là, PAF ! Ça ne marche pas, la connexion au ser­veur de clefs timeout lamen­ta­ble­ment. En cause, le pare-feu de votre uni­ver­sité ou entre­prise qui, fai­sant son bou­lot, bloque sys­té­ma­ti­que­ment les connexions ini­tiées vers des ports incon­nus comme le port 11371, géné­ra­le­ment uti­lisé par les ser­veurs de clefs.

Heu­reu­se­ment, Anthony, un étu­diant de Durham, a trouvé une petite astuce qui va nous per­mettre de faire pas­ser les requêtes de clefs GPG par le port 80 qui, contrai­re­ment au 11371, a très peu de chances d'être blo­qué par le pare-feu der­rière lequel vous vous connec­tez. Il a remar­qué que la com­mande add-apt-repository est écrite en python, ce qui la rend très faci­le­ment édi­table. En sui­vant la struc­ture des impor­ta­tions, il a trouvé le fichier res­pon­sable de la récu­pé­ra­tion des clefs GPG des dépôts. Voici donc la marche à suivre :

Vous allez modi­fier un fichier de votre sys­tème, je vous conseille for­te­ment d'en faire une sau­ve­garde préalable.

– Édi­tez le fichier ppa.py qui se trouve dans le réper­toire /usr/lib/python2.6/dist-packages/softwareproperties/ en fai­sant par exemple Alt+F2 puis en entrant

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

sans oublier de vali­der, et de taper votre mot de passe à l'invite.

Lancer gedit en root pour éditer ppa.py

– Ceci fait, trou­vez dans le fichier la ligne n°88 et chan­gez « keyserver.ubuntu.com » en « hkp://keyserver.ubuntu.com:80 ». Cela donne

res = subprocess.call(
  ["apt-key", "adv", "--keyserver", "keyserver.ubuntu.com",
    "--recv", signing_key_fingerprint[0]])

qui devient

res = subprocess.call(
  ["apt-key", "adv", "--keyserver", "hkp://keyserver.ubuntu.com:80",
    "--recv", signing_key_fingerprint[0]])

Enre­gis­trez, et voilà ! La com­mande add-apt-repository uti­li­sera désor­mais le port 80 pour récu­pé­rer les clefs des dépôts, et vous pour­rez ajou­ter de nou­veaux PPA en toute sérénité.

Vous aime­rez peut-être :

  1. Ubuntu 10.10 pour­rait adop­ter le sys­tème de fichier BtrFS par défaut
  2. Pour­quoi les contrôles de fenêtres sont pas­sés à gauche sur Ubuntu

3 commentairess

  1. 1000 fois merci !! :-) J'étais bien coincé der­rière un pare­feu ne lais­sant pas­ser que 80, 443 et quelques rares autres ports …

  2. Avec plai­sir, content que cette astuce ait pu être utile !

  3. Merci,de nous l'avoir appris,et meilleurs voeux.

Laisser une réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>