22Jan

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

Par , 22 janvier 2011 | GNU/Linux, Informatique | 3 Commentaires

Voi­ci 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 illi­co aux sources de votre Ubun­tu. Pas de pro­blème, vous dites-vous in pet­to : 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­si­té 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­li­sé par les ser­veurs de clefs.

Heu­reu­se­ment, Antho­ny, un étu­diant de Durham, a trou­vé 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-repo­si­to­ry 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 trou­vé le fichier res­pon­sable de la récu­pé­ra­tion des clefs GPG des dépôts. Voi­ci 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 voi­là ! La com­mande add-apt-repo­si­to­ry uti­li­se­ra 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é.

Back to top

Pas peur d'Hadopi

Ce site Web est accessible en




ipv6 ready