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

Agregué algunos repositorios adicionales con el programa Software Sources. Pero cuando vuelvo a cargar la base de datos del paquete, aparece un error como el siguiente:

W: Error de GPG: http://ppa.launchpad.net trusty InRelease: No se pudieron verificar las siguientes firmas porque la clave pública no está disponible: NO_PUBKEY 8BAF9A6F

Sé que puedo arreglarlo usando apt-key en una terminal, según la documentación oficial de Ubuntu. Pero me hubiera gustado hacerlo gráficamente. ¿Hay alguna manera de hacer esto sin usar un terminal?

Ejecute los siguientes comandos en terminal

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

donde <PUBKEY> es su clave pública faltante para el repositorio, p. ej. 8BAF9A6F.

A continuación, actualice

sudo apt-get update

MÉTODO ALTERNATIVO:

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 utilizará su sistema. No haga esto a menos que esté seguro de que la clave es realmente la clave del distribuidor del paquete.

Con mucho, la forma más sencilla de manejar esto ahora es con Y-PPA-Manager (que ahora integra el launchpad-getkeys script 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 updatesudo apt-get install y-ppa-manager
  3. Ejecute y-ppa-manager (es decir, escriba y-ppa-manager a continuación, pulse la tecla intro).

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

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

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

Sucede cuando no tiene 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 entonces esto:

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

que agrega la clave a las claves de confianza de apt.

La solución se puede encontrar aqui &lificador; aqui &lificador; aqui.

Necesita 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), después de hacer clic en 'Detalles técnicos sobre este PPA' (1):

image 1

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

image 2

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,
  • Ir a la Authentication pestaña y haga clic en Import Key File..., finalmente
  • Seleccione el archivo de clave guardado y haga clic en OK.

apt solo puede manejar 40 claves en /etc / apt / trusted.gpg.d. 41 claves y obtendrá el error GPG "no se encontró ninguna clave pública", incluso si sigue todos los pasos para agregar las claves que faltan.

Verifique si hay claves no utilizadas en este archivo de PPA que ya no usa. Si todos están en uso, considere eliminar algunos PPA junto con los archivos de claves correspondientes en /etc/apt/trusted.gpg.d

Además, utilizando

sudo apt-key adv

Se considera un riesgo de seguridad y no se recomienda como eres "socavar todo el concepto de seguridad, ya que esta no es una forma segura de recibir claves por varias razones (como: hkp es un protocolo de texto sin formato, se pueden falsificar claves cortas e incluso largas, ...)". http://ubuntuforums.org/showthread.php?t=2195579

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

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 1ABC2D34EF56GH78gpg --export --armor 1ABC2D34EF56GH78 | sudo apt-key add -

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

Descargar e instalar Plataforma de lanzamiento-getkeys (ignore el ~natty en su versión, funciona con todas las versiones de Ubuntu, desde Kármica hasta Onírica). Una vez instalado, abra un terminal y escriba:

sudo launchpad-getkeys

Si está detrás de un proxy, las cosas son un poco más complicadas, así que vea este para más info

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

http://naveenubuntu.blogspot.in/2011/08/fixing-gpg-keys-in-ubuntu.html

Después de fijar el NO_PUBKEY problema, el siguiente problema se mantuvo

W: GPG error: xhttp://toolbelt.heroku.com ./ Release: The following signatures were invalid: BADSIG C927EBE00F1B0520 Heroku Release Engineering <release@heroku.com>

Para solucionarlo ejecuté los siguientes comandos en 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

De manera más general, el siguiente método debería funcionar para todos los repositorios. En primer lugar, busque, con la ayuda 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 http://deb.opera.com. Copie el pasaje, péguelo en un archivo vacío que cree en su escritorio. Esto da como resultado el archivo de claves.

A continuación, continúe con la importación de la clave:

  • >Centro de Software de Aplicaciones
  • >Edite las fuentes de software..., introduzca la contraseña
  • Pestaña de Autenticación, haga clic en ' Importar archivo de clave...'
  • Seleccione el archivo de claves guardado y haga clic en'Aceptar'.

Ahora puede eliminar el archivo de clave creado anteriormente.

Asegúrese de tener apt-transport-https instalar:

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

Añadir 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: https://community.skype.com/t5/Linux/Skype-for-Linux-Beta-signatures-couldn-t-be-verified-because-the/td-p/4645756

¡Bien! Finalmente encontré el camino!

He probado todos los métodos para arreglar Error de GPG NO_PUBKEY y nada que funcione para mí.

He borrado todo el contenido de la carpeta /etc / apt / trusted.gpg.d

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

Y yo uso el Y-Gerente de PPA método porque soy demasiado vago para crear todas las pubkey manualmente (demasiadas): http://www.unixmen.com/fix-w-gpg-error-no_pubkey-ubuntu/

ejecute sudo apt-get update de nuevo y finalmente todo funciona muy bien ahora! Tanques!

Fuente Basada : puesto #17 en https://bugs.launchpad.net/ubuntu/ + fuente / apt / + error / 1263540

Puedes comprobar esto SO thread para la solución. Enlace a sitio relacionado

Relacionado con: updates - How to fix missing GPG keys? - Ask Ubuntu

“Una media”? Curioso lo que querías decir con eso.

@MichaelScheper ‘¿ Hay algún medio para no abrir una terminal?’=~ ‘¿Hay alguna forma de hacerlo sin una terminal?’

@Wilf: ¡Oh! No quiero ser quisquilloso con la gramática, pero me confundió. De la referencia que acabo de revisar, ‘significa’ es un sustantivo singular, y el que querías decir. MEANS | meaning in the Cambridge English Dictionary Pero si tú y Agmentor estáis usando alguna variante de inglés en la que la gramática de la pregunta es correcta, me encantaría ver una referencia a ella, solo porque estoy interesado en ese tipo de cosas. :relaxed:

Para los usuarios que desean eliminar un repositorio, consulte [esta pregunta] (software sources - How to remove a repository? - Ask Ubuntu) (eso debería hacer que este comentario sea más temático, aunque supongo que evaluar la gramática también está aquí :slight_smile: ) @MichaelScheper Es una forma inusual de decirlo, pero he aprendido como parte del inglés en el Reino Unido (¡esto probablemente significa que mi inglés es peor que si me lo enseñaran correctamente [con sustantivos, etc.]! xD). La cita ['un medio para terminar`] (meaning - What does "It is a means to an end, not an end in itself" mean? - English Language & Usage Stack Exchange) viene a la mente, aunque el problema es el bit final, pero es donde los medios significan un método o una forma.

@Wilf: El diccionario al que me vinculé era un diccionario del Reino Unido, y ‘un medio para terminar’ ilustra completamente mi punto, que es que ‘significa’ es singular. Por lo tanto, “malo” no es la palabra correcta. Pero tienes razón cuando dices que esto se ha salido del tema, así que me retiraré de la discusión y dejaré que tú decidas si editas la pregunta. Aclamaciones.

Aquí hay una respuesta confiable a esta pregunta: apt - How do I fix the GPG error "NO_PUBKEY"? - Ask Ubuntu