Agregar llaves de repositorios apt en Ubuntu

Les ha pasado que cuando agregan repositorios extras a su sources.list a veces apt alega de que los paquetes no están firmados o de que no puede encontrar la llave para verificarlos?

Bueno… la mayoría de las veces uno no pone atención y le da aceptar al apt, entonces ¿Cómo podemos hacerlo de la forma correcta?

  • Primero: Debes estar seguro que el repositorio es fiable, es decir, que puedas confiar en lo que los desarrolladores ponen a disposición de los usuarios. Ha pasado que a veces los repositorios son intervenidos por manos negras y alteran los paquetes agregándoles algo que beneficie al atacante. Paso hace un tiempo atrás en debian y los repos de fedora.
  • Segundo: Una vez que tienes certeza del primer punto, puedes importar la llave del repositorio en cuestión. ¿Cómo se hace eso? veamos un ejemplo ;)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Descargados 55,6kB en 4min 39s (199B/s)
Leyendo lista de paquetes... Hecho

W: Error de GPG: http://ppa.launchpad.net jaunty Release Las firmas
siguientes no se pudieron verificar porque su llave pública no está
disponible: NO_PUBKEY B9F1C432AE74AE63

W: Error de GPG: http://192.168.1.101 testing Release Las firmas
siguientes no se pudieron verificar porque su llave pública no está
disponible: NO_PUBKEY A040830F7FAC5991

W: Error de GPG: http://192.168.1.101 intrepid Release Las firmas
siguientes no se pudieron verificar porque su llave pública no está
disponible: NO_PUBKEY 079A381C44869960

W: Tal vez quiera ejecutar 'apt-get update' para corregir estos problemas

Si esto les ha pasado mas de una vez es porque les falta la firma y llave de ese repositorio, entonces hagámoslo de la forma clásica:
Primero importamos la llave con lo que sale en la información del error de apt, donde dice **NO_PUBKEY NUMERO **y luego el segundo comando exporta la llave importada para que apt-key pueda agregarla a su llavero.

1
2
$ sudo gpg --keyserver keyserver.ubuntu.com --recv 079A381C44869960
$ sudo gpg --export --armor 079A381C44869960 | sudo apt-key add -

Una forma un poco mas eficiente es utilizando el comando apt-key directamente, veamos como se hace todo en un solo paso:

1
2
$ sudo apt-key adv --recv-keys --keyserver \
keyserver.ubuntu.com 079A381C44869960

De esta forma no utilizamos el llavero o keyring de gpg sino que usamos directamente el llavero de apt. Este lo pueden ver en /etc/apt/trusted.gpg

Ahora bien, para facilitarnos la vida en ubuntu (no se si debian lo tenga, creo que no) existe un paquete (que hay que instalar) llamado add-apt-key que nos permite hacer este mismo trabajo de forma mas simple. Lo primero es instalar el paquete:

1
$ sudo apt-get install add-apt-key

Luego importamos las llaves de la siguiente forma (como root):

1
2
$ sudo su -
# add-apt-key --keyserver keyserver.ubuntu.com 079A381C44869960

Es todo por hoy, espero que les sea útil este pequeño post. En otra oportunidad profundizaré en los conceptos de gpg, llaves y llaveros.

Rarezas

Apliquen…

1
apt-get moo

Sorpresa!!!

        (__) 
(oo)
/------\/
/ | || *
* /\\---/\\
~~ ~~
...."Have you mooed today?"...

Con un poco más de tiempo, empiezo a publicar nuevas cosillas en mi blog.

Escuchando…. “ruidos de chanchos!!!”…. viendo la Granja…

Aplicaciones que no pueden faltar

Esta es una de las aplicaciones que no pueden faltar. Se trata de una herramienta a la cual le consultas por un archivo especifico y te devuelve en que paquete está. Es clásico cuando estas compilado algún código fuente y te dice que el archivo xxx.o no esta en tu entorno. Ahora… como saber en que paquete viene ese archivo especifico? ahi viene nuestra herramienta… se llama apt-file y se utiliza muy parecido al apt.

Primero debemos actualizar la base de datos de paquetes con:

1
apt-file update

Y ahora podemos consultar con:

1
apt-file search nombre_archivo

Espero les sirva este pequeño aporte.

Escuchando… Trial of Tears … Dream Theater