Posts tagged gpg
Agregar llaves de repositorios apt en Ubuntu
8Les 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
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.
$ 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:
$ 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:
$ sudo apt-get install add-apt-key
Luego importamos las llaves de la siguiente forma (como root):
$ 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.