Error NO_PUBKEY, solucion con script

Siempre que actualizo Ubuntu me encuentro con los mismos errores al agregar repositorios de terceros.
La clave GPG no esta instalada en mi PC y apt-get tira un error, como el del ejemplo:


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 5A9BF3BB4E5E17B5

Buscando, encontre la forma de solucionarlo, pero dado que implicaba 3 pasos por cada clave, me dio un poco de fiaca y cree un script para hacerlo en un paso


leonardo@eden:~$ touch fixGPGsign.sh
leonardo@eden:~$ ls -Al *GPG*
-rw-r–r– 1 leonardo leonardo 302 2009-05-26 10:03 fixGPGsign.sh
leonardo@eden:~$ chmod +x fixGPGsign.sh
leonardo@eden:~$ ls -Al *GPG*
-rwxr-xr-x 1 leonardo leonardo 302 2009-05-26 10:03 fixGPGsign.sh

Usar el editor de texto de tu preferencia, y poner el siguiente contenido.


#!/bin/sh
echo "Downloading GPG Key"
sudo gpg --keyserver subkeys.pgp.net --recv-key $1
echo "Checking imported Key"
sudo gpg --fingerprint $1
echo "Adding Key to APT"
sudo gpg --armor --export $1| sudo apt-key add -

La forma de usarlo es pasar como parametro del script la clave que aparece en el mensaje de error, por ejemplo:


leonardo@eden:~$ ./fixGPGsign.sh 5A9BF3BB4E5E17B5
Downloading GPG Key
gpg: solicitando clave 4E5E17B5 de hkp servidor subkeys.pgp.net
gpg: clave 4E5E17B5: clave pública “Launchpad PPA for chromium-daily” importada
gpg: no se encuentran claves totalmente fiables
gpg: Cantidad total procesada: 1
gpg: importadas: 1 (RSA: 1)
Checking imported Key
pub 1024R/4E5E17B5 2009-02-25
Huella de clave = FBEF 0D69 6DE1 C72B A5A8 35FE 5A9B F3BB 4E5E 17B5
uid Launchpad PPA for chromium-daily
Adding Key to APT
OK

En caso de obtener el siguiente error:


gpg: AVISO: propiedad insegura del fichero de configuración `/home/leonardo/.gnupg/gpg.conf’
gpg: llamadas a programas externos desactivadas por permisos inseguros de ficheros.
gpg: recepción del servidor de claves fallida: Error general
gpg: recepción del servidor de claves fallida: Error general

La solucion (mas a lo bestia) que encontre fue mover el archivo de configuración de GPG de mi usuario:


mv /home/leonardo/.gnupg/gpg.conf /home/leonardo/.gnupg/gpg.conf.old