Al interactuar con el software, como en un Linux or Windows En el entorno de desarrollo de software, se utiliza una firma digital para autenticar el paquete de software. Se trata de un mensaje de carga útil en formato hash, que además se cifra con una clave privada en un segundo paso de preparación. De este modo, la clave privada garantiza la autenticidad y el hash la integridad del mensaje transmitido. Pero sucede que en el funcionamiento de cualquier software se producen errores, ¡veamos los posibles errores con el ejemplo del paquete criptográfico GPG!
¿Cómo solucionar el error GPG "NO_PUBKEY"?
Es un problema bastante común al momento de actualizar un repositorio, cuando luego de un comando del administrador de paquetes con la función de actualización, se arroja un problema similar:

El error indica que la clave pública 160D26BB1785BA38 No se encontró para el repositorio mongodb-org, que se utiliza para verificar la firma digital de los paquetes en el repositorio. De forma predeterminada, Linux Las distribuciones no permiten instalar paquetes sin la clave correspondiente.
en los servidores Serverspace plataforma en la nube, también utilizó claves para identificar el paquete de forma predeterminada. Eso proporciona una implementación perfecta; también puede omitir este paso si tiene una servidor en la nube. Para crear el nodo necesitamos encontrar la plataforma en la nube en el menú de la izquierda que puede elegir según sus requisitos. Nosotros elegimos vStack or VMware plataforma y haga clic en Crear servidor .

La implementación de la capacidad del servidor llevará algún tiempo. Después de eso, podrá conectarse de cualquiera de las formas que le resulten más convenientes. Regresemos a nuestra terminal con el problema y expliquemos su naturaleza.
Since Linux Las distribuciones no le permiten instalar paquetes sin una clave pública, debe agregar una. Hay dos formas: buscar un archivo con una clave pública en el sitio web de la empresa o utilizar un servidor de claves. Para la primera forma, busquemos la clave en el sitio web de la empresa.

Sugiere descargar la clave a través de HTTPS, que puede ser una solución segura ya que el centro de autenticación valida la autenticidad del sitio a través de un certificado y TLS proporciona un canal confidencial para transmitir el mensaje.
Si confiamos en la CA, entonces este método es conveniente. Ejecutemos el comando para instalar el software necesario:
apt install gnupg curl Y luego descargue el paquete necesario convirtiendo asc a formato gpg, guardándolo en la carpeta /usr/share/keyrings/mongo.gpg. Para hacer esto, ejecute el comando:
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc \
| sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor O podemos realizar esta acción con la ayuda de un servidor de claves, conociendo el identificador de clave pública. El error muestra la secuencia. 160D26BB1785BA38, que es el identificador de clave. Dirigámonos al servidor con el comando:
sudo gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/mongo.gpg --keyserver keyserver.ubuntu.com --recv-keys 160D26BB1785BA38
En este caso, solicitamos claves a un servidor oficial que las ha firmado y ha confirmado la integridad de las claves. Parámetros del comando:
- --no-default-keyring --keyring le permite definir un nuevo llavero que estará separado del llavero principal;
- --keyserver le permite especificar el servidor que se utilizará para solicitar la clave. Puede especificar cualquier servidor en el que confíe;
- --recv-keys especifica el identificador de la clave solicitada.
Ahora necesitamos escribir la ruta a la clave en la lista de repositorios para comunicarnos entre nosotros. Para ello, vayamos al archivo:
echo "deb [ signed-by=/usr/share/keyrings/mongo.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" > /etc/apt/sources.list.d/mongodb-server-7.0
Después de eso, necesitas actualizar la lista de repositorios con el comando:
apt update
Como puede ver en la captura de pantalla, el repositorio ha sido visitado, por lo que ahora está disponible para descargar paquetes. Sin embargo, después de agregar una clave, puede aparecer una advertencia sobre el peligro de usar dicha clave.
GPG: No hay ninguna indicación de que la firma pertenezca al propietario.
La cuestión es que GPG utiliza una política similar a la de las autoridades certificadoras. Para que una clave se considere confiable, debe descargarse de un servidor de claves. O la misma clave debe estar firmada por una clave confiable, lo que significa que está en la base de datos Trusted.gpg con un nivel de confianza de 4-5. Por lo tanto, al firmar tales notificaciones es absolutamente normal, pero es necesario verificar nuevamente a los propietarios y las sumas hash. Se asegurarán de la integridad de los datos transmitidos desde los servidores.

Si está seguro de que las claves son legítimas, debe escribir el comando:
gpg --edit-key 160D26BB1785BA38 donde en lugar de 160D26BB1785BA38, se especificará su identificador de clave, después de lo cual se abrirá el menú de interacción con la clave. Es necesario especificar el elemento de confianza y seleccionar el nivel de confianza:

Después de eso, la inscripción desaparecerá cuando uses la clave:

La resolución de errores de GPG es un aspecto importante para garantizar la seguridad y la estabilidad de los sistemas operativos, especialmente en el Linux mundo. Comprender las causas y soluciones a los problemas de GPG ayuda a garantizar la integridad y autenticidad del software instalado y de las actualizaciones. Al verificar las claves, actualizar los repositorios y modificar los archivos de configuración, los problemas se pueden abordar de manera efectiva. Recuerde, solucionar problemas cuidadosamente y seguir las recomendaciones de la comunidad de expertos lo ayudará a mantener su sistema en funcionamiento y seguro.
Conclusión
Los errores de GPG pueden interrumpir la gestión de paquetes y suponer un riesgo potencial si se ignoran. Al comprender las causas (como la falta de claves públicas, firmas no confiables o configuraciones incorrectas del repositorio), puede restaurar rápidamente la capacidad de actualizar e instalar software de forma segura en su sistema. Linux Sistema. Agregar claves a través de una fuente confiable, verificar firmas y actualizar las rutas del repositorio garantiza la integridad y autenticidad de todos los paquetes instalados, manteniendo el sistema estable y seguro. La atención regular a la resolución de errores GPG es una forma proactiva de prevenir fallos de instalación y mantener la confiabilidad del sistema.
Preguntas Frecuentes
- P1: ¿Qué significa un error GPG en Linux?
R: Indica un problema con la verificación de la autenticidad de un paquete de software, generalmente debido a una clave pública faltante o no confiable. - P2: ¿Cómo soluciono el error “NO_PUBKEY”?
R: Puede agregar la clave pública faltante descargándola del sitio web oficial o recuperándola de un servidor de claves confiable usando el ID de la clave. - P3: ¿Puedo ignorar las advertencias de GPG?
R: No se recomienda, ya que ignorar las advertencias puede comprometer la seguridad del sistema. Verifique siempre las claves antes de confiar en ellas. - P4: ¿Cómo puedo verificar si una clave es confiable?
A: Utilice el comando gpg --edit-key y establezca el nivel de confianza adecuado. Un nivel de 4 a 5 indica una clave de plena confianza. - Q5: ¿Por qué sigo recibiendo advertencias después de agregar una clave?
R: Pueden aparecer advertencias si la clave no está firmada por una clave de confianza o no se encuentra en su base de datos trusted.gpg. Verifique el origen y la firma de la clave para solucionar este problema. - P6: ¿Los errores de GPG afectan las actualizaciones de todos los sistemas? Linux ¿distribuciones?
R: Sí, los errores GPG pueden aparecer en cualquier distribución que utilice repositorios firmados, incluidos Debian, Ubuntu, y sus derivados.