¿Cómo arreglo el error de GPG "NO_PUBKEY"?

294

Agregué algunos repositorios adicionales con el programa Fuentes de software. Pero cuando recargo la base de datos del paquete, me sale un error como el siguiente:

  

W: error de GPG: enlace de confianza InRelease: las siguientes firmas no se pudieron verificar porque la clave pública no está disponible: NO_PUBKEY 8BAF9A6F

Sé que puedo solucionarlo usando apt-key en una terminal, de acuerdo con la documentación oficial de Ubuntu. Pero me hubiera gustado hacerlo gráficamente. ¿Hay alguna forma de hacerlo sin usar un terminal?

    
pregunta Agmenor 13.11.2010 - 21:27

11 respuestas

190

La forma más simple de manejar esto ahora es con Y-PPA-Manager (que ahora integra el script launchpad-getkeys con una interfaz gráfica).

  1. Para instalarlo, primero agregue el repositorio webupd8 para este programa:

    sudo add-apt-repository ppa:webupd8team/y-ppa-manager
    
  2. Actualice su lista de software e instale Y-PPA-Manager:

    sudo apt-get update
    sudo apt-get install y-ppa-manager
    
  3. Ejecute y-ppa-manager (es decir, escriba y-ppa-manager y luego presione la tecla enter).

  4. Cuando aparezca la ventana principal de y-ppa-manager, haga clic en "Avanzado".

  5. De la lista de tareas avanzadas, seleccione "Intentar importar todas las claves GPG que faltan" y haga clic en Aceptar.

    ¡Has terminado! Como dice el cuadro de diálogo de advertencia cuando inicia la operación, puede tomar bastante tiempo (aproximadamente 2 minutos para mí) dependiendo de cuántos PPA tenga y la velocidad de su conexión.

respondido por el monotasker 04.12.2013 - 16:52
432

Ejecute los siguientes comandos en la terminal

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <PUBKEY>

donde <PUBKEY> es la clave pública que falta para el repositorio, p. 8BAF9A6F .

Luego actualiza

sudo apt-get update

MÉTODO ALTERNO:

sudo gpg --keyserver pgpkeys.mit.edu --recv-key  <PUBKEY>
sudo gpg -a --export <PUBKEY> | sudo apt-key add -
sudo apt-get update

Tenga en cuenta que cuando importa una clave como esta usando apt-key le está diciendo al sistema que confía en la clave que está importando para firmar el software que su sistema utilizará. No haga esto a menos que esté seguro de que la clave es realmente la clave del distribuidor del paquete.

    
respondido por el karthick87 28.11.2010 - 19:49
38

Sucede cuando no tienes una clave pública adecuada para un repositorio.

Para resolver este problema, use este comando:

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 9BDB3D89CE49EC21

que recupera la clave del servidor de claves de ubuntu. Y luego esto:

gpg --export --armor 9BDB3D89CE49EC21 | sudo apt-key add -

que agrega la clave para apt keys trusted.

La solución se puede encontrar aquí & amp; aquí & amp; aquí .

    
respondido por el Pedram 28.03.2011 - 00:31
32

Debe obtener e importar la clave.

Para obtener la clave de un PPA, visite la página Launchpad del PPA. En cada página de PPA en Launchpad encontrará este enlace (2), luego de hacer clic en 'Detalles técnicos sobre este PPA' (1):

Síguelo y haga clic en el enlace ID de clave (3):

Guarde la página, este es su archivo de claves.

Ahora es el momento de importarlo:

  • Applications > Software Center ,
  • Edit > Software sources... ,
  • Ingrese su contraseña,
  • Vaya a la pestaña Authentication y haga clic en Import Key File... , finalmente
  • Seleccione el archivo de clave guardado y haga clic en OK .

Eso es todo.

    
respondido por el htorque 13.11.2010 - 22:04
11

apt solo puede manejar 40 claves en /etc/apt/trusted.gpg.d. 41 teclas y obtendrá el error de GPG "no se encontró clave pública", incluso si sigue todos los pasos para agregar la (s) clave (s) faltante (s).

Verifique si hay alguna clave no utilizada en este archivo de ppa (s) que ya no usa. Si todos están en uso, considere eliminar algunos ppa (s) junto con los archivos de claves correspondientes en /etc/apt/trusted.gpg.d

Además, usando

sudo apt-key adv

Se considera un riesgo de seguridad y no se recomienda porque " socava todo el concepto de seguridad, ya que no es una forma segura de recibir claves por varias razones (como hkp es una El protocolo de texto sin cifrar, keyids cortos e incluso largos se pueden forjar, ...) ". enlace

Creo que la forma correcta de agregar las teclas faltantes (por ejemplo, 1ABC2D34EF56GH78) es

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 1ABC2D34EF56GH78
gpg --export --armor 1ABC2D34EF56GH78 | sudo apt-key add -
    
respondido por el mchid 08.08.2014 - 00:33
8

Hay un pequeño script empaquetado en WebUpd8 PPA que vincularé como descarga única de .deb para que no tenga que agregar todo el PPA, que automáticamente importa todas las claves GPG faltantes.

Descargue e instale Launchpad-getkeys (ignore el ~ natty en su versión, funciona con todas las versiones de Ubuntu desde Karmic hasta Oneiric). Una vez instalado, abra una terminal y escriba:

sudo launchpad-getkeys

Si está detrás de un proxy, las cosas son un poco más complicadas, así que vea esto para más información

    
respondido por el Alin Andrei 05.06.2011 - 22:15
4

Me enfrenté al mismo problema al instalar Heroku. El siguiente enlace resolvió mi problema -

enlace

Después de corregir el problema de NO_PUBKEY , el problema siguiente sigue siendo

W: GPG error: xhttp://toolbelt.heroku.com ./ Release: The following signatures were invalid: BADSIG C927EBE00F1B0520 Heroku Release Engineering <[email protected]>

Para solucionarlo, ejecuté los siguientes comandos en la terminal:

sudo -i  
apt-get clean  
cd /var/lib/apt  
mv lists lists.old  
mkdir -p lists/partial  
apt-get clean  
apt-get update  

Fuente - Enlace para resolverlo

    
respondido por el dennyac 30.01.2013 - 18:12
4

Asegúrate de tener apt-transport-https instalado:

dpkg -s apt-transport-https > /dev/null || bash -c "sudo apt-get update; 
sudo apt-get install apt-transport-https -y" 

Agregar repositorio:

curl https://repo.skype.com/data/SKYPE-GPG-KEY | sudo apt-key add - 
echo "deb [arch=amd64] https://repo.skype.com/deb stable main" | sudo tee /etc/apt/sources.list.d/skype-stable.list 

Instalar Skype para Linux:

sudo apt-get update 
sudo apt-get install skypeforlinux -y

Fuente: enlace

    
respondido por el Eduardo Cuomo 27.05.2017 - 22:00
3

Más generalmente, el siguiente método debería funcionar para cada repositorio. En primer lugar, buscar, con la ayuda eventual de un motor de búsqueda, un texto en el sitio web del proveedor del programa que se parezca a lo siguiente:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.1 (GNU/Linux)
[...]
-----END PGP PUBLIC KEY BLOCK-----

Dicho texto se muestra, por ejemplo, en enlace . Copie el pasaje y péguelo en un archivo vacío que cree en su escritorio. Esto da como resultado el archivo de clave.

Luego continúe con la importación de la clave:

  • Aplicaciones & gt; Centro de software
  • Editar & gt; Fuentes de software ..., ingrese la contraseña
  • pestaña Autenticación, haga clic en 'Importar archivo clave ...'
  • Seleccione el archivo de clave guardado y haga clic en 'Aceptar'.

Ahora puede eliminar el archivo de clave creado anteriormente.

    
respondido por el Agmenor 13.11.2010 - 22:43
2

¡Bien! Finalmente encontré el camino!

Probé todos los métodos para corregir el error GPG NO_PUBKEY y no funcionó nada para mí.

Eliminé todo el contenido de la carpeta /etc/apt/trusted.gpg.d

cd /etc/apt/trusted.gpg.d
sudo rm -R *
sudo apt-get update

Y uso el método Y-PPA-Manager porque soy demasiado perezoso para crear todos los pubkey de forma manual (demasiados): enlace

ejecuta sudo apt-get update nuevamente y finalmente todo funciona bien ahora! Tanques!

Fuente basada: publicación # 17 en enlace

    
respondido por el NeurOSick 08.04.2015 - 15:36
1

Tuve el mismo problema con el cliente Updater de DynDNS.

Resulta que solo habían caducado las llaves.

La reinstalación del software (la descarga de un nuevo .deb del sitio web y luego el uso del Centro de software para reinstalar) solucionó el problema.

Mensaje de error para referencia:

W: GPG error: http://cdn.dyn.com stable/ Release: The following signatures were invalid: KEYEXPIRED 141943.......
    
respondido por el Cranky 08.01.2015 - 17:53

Lea otras preguntas en las etiquetas