Agregar manualmente keys de repositorios apt en Ubuntu

Alguna vez hemos agregado repositorios a través del fichero /etc/apt/sources.list sin saber muy bien los orígenes, simplemente por acceder a las últimas “features” de algún programa en especial. La mayor parte de las veces, estos repositorios son de fiar y aceptamos ciegamente lo que nos brindan. En ocasiones habremos intentado descargar las keys del repositorio, sin éxito (como es mi caso, al estar detrás de un proxy corporativo). GPG a veces no consigue tener acceso al almacén de claves del repositorio por algún motivo, lo que impide que el sistema consiga guardar correctamente las claves en nuestro almacén de ídem.

El error que suele mostrar apt-get al actualizar la lista de software de los repositorios es similar al siguiente:

user@computer:$ W: Error de GPG: http://ppa.launchpad.net natty Release Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: NO_PUBKEY 079F371A45867210

Si GPG no obtiene acceso a la descarga, es inútil realizar el paso siguiente:

user@computer:$ sudo gpg --keyserver keyserver.ubuntu.com --recv 079F371A45867210

$ sudo gpg --export --armor 079F371A45867210 | sudo apt-key add -

La opción más socorrida es usar apt-key:

user@computer:$ sudo apt-key adv --recv-keys --keyserver \ keyserver.ubuntu.com <id_clave>

Ahora bien, por medio de una herramienta, llamada add-apt-key, podremos obtener manualmente estas keys que GPG no puede obtener. Simplemente instalaremos la herramienta y la invocaremos a través de la línea de comandos o en un script:

user@computer:$ sudo apt-get install add-apt-key

Y la lanzaremos con permisos de root:

user@computer:$ sudo su -
# add-apt-key --keyserver keyserver.ubuntu.com 079F371A45867210

También podemos utilizar un script con la opción de introducir la PubKey manualmente:

#!/bin/sh
if [ "`whoami`" != "root" ];

then

     echo "Por favor, ejecuta el script como superusuario (sudo)"

     exit 1

else
     read -p "Pega la PubKey a importar" pubkey
     add-apt-key --keyserver keyserver.ubuntu.com $pubkey
fi

Y con esto termina mi aporte a la resolución de este caso tan simple pero que tantos quebraderos de cabeza puede darnos. Si quereis comentar algo, ya sabeis como. :P

  • Gracias, realmente sirvio.
    Mis saludos
    Hector

Puedes seguir los comentarios a través de RSS 2.0

Trackbacks / Pingbacks