Comience por identificar qué repositorio generó la advertencia y, a continuación, corrija la clave o la configuración de dicho repositorio. No desactive las comprobaciones de firmas de APT. El mensaje «No se pudieron verificar las siguientes firmas» significa que APT no puede confirmar que los metadatos del repositorio se hayan firmado con una clave de confianza. Hasta que se verifique la firma, APT podría negarse a utilizar esa fuente. Agregar una clave aleatoria o marcar una fuente como de confianza puede ocultar la advertencia, pero elimina la protección que debería proporcionar.
Por ejemplo, supongamos que sudo apt updatelos informes NO_PUBKEYdel repositorio de un proveedor de navegador se actualizan correctamente, mientras que las líneas de archivo de Ubuntu se actualizan sin problemas. La solución más probable es instalar la clave de firma publicada por dicho proveedor y limitarla a ese repositorio. Reinstalar el llavero de claves de Ubuntu no resolvería un problema con una clave de terceros. Los comandos que aparecen a continuación son plantillas: sustituya los detalles del repositorio de ejemplo por los valores de las instrucciones oficiales del editor del software.
Lea el error exacto antes de cambiar las claves.
Ejecute el comando de actualización y anote la URL del repositorio y el código de error en las mismas líneas de salida:
sudo apt update
APT normalmente identifica una fuente por su URL y suite de versiones, como nobleo jammy. Si se configura más de una fuente, puede mostrar varios errores. Antes de realizar un cambio, compare cada mensaje con su repositorio correspondiente. Estas firmas comunes apuntan a diferentes causas:
| Mensaje o pista | Significado probable | Primera acción |
NO_PUBKEY | La clave de firma pública necesaria para ese repositorio no está disponible para APT, o bien el origen no apunta al archivo de clave. | Identifique al propietario del repositorio y obtenga su clave actual siguiendo las instrucciones oficiales del editor. |
EXPKEYSIG | La clave utilizada para la firma ha caducado o la configuración de firma del repositorio necesita actualizarse. | Consulta el aviso de rotación de claves del editor; no reinstales la clave caducada repetidamente. |
BADSIG | La firma no coincide con los metadatos que recibió APT. Es posible que se trate de un problema con un servidor espejo obsoleto, un servidor proxy, una descarga parcial o un problema en el repositorio. | Inténtelo de nuevo tras comprobar el origen, la ruta de red y los archivos de índice en caché. |
Release file is not valid yeto una redacción de tiempo similar | Es posible que el reloj del sistema esté desfasado con respecto a la marca de tiempo firmada del repositorio. | Verifique la fecha del sistema, la zona horaria y la sincronización horaria. |
| La clave está presente, pero la fuente sigue informando de una clave desconocida. | Es posible que la fuente haga referencia a un llavero diferente, a una ruta incorrecta o a un archivo de clave ilegible para APT. | Inspeccione la Signed-Byconfiguración de la fuente y los permisos del llavero. |
Comprueba primero el reloj del sistema cuando el error mencione la hora.
Las firmas y los metadatos del repositorio tienen periodos de validez. Un servidor restaurado a partir de una instantánea antigua, un equipo con arranque dual o una máquina con un servicio de hora averiado pueden tener un reloj lo suficientemente desfasado como para que los metadatos actuales parezcan inválidos. Compruebe la hora del sistema:
timedatectl status
Confirme que la fecha y la hora mostradas sean correctas y que la sincronización horaria esté activa. Si el reloj no es correcto, corrija el servicio de hora del host o habilite el método de sincronización horaria de red configurado y vuelva a intentarlo sudo apt update. Evite configurar manualmente una fecha aproximada: el reloj debe reflejar la hora real. Una corrección horaria no solucionará una clave de repositorio faltante o caducada, por lo que si el mensaje sigue siendo un NO_PUBKEYerror EXPKEYSIG, continúe con los pasos correspondientes para la clave.
Solucione el problema de una clave de repositorio de terceros que falte o haya caducado.
La guía actual de Ubuntu recomienda almacenar las claves de terceros en un llavero dedicado y hacer referencia a esa clave desde la fuente correspondiente con Signed-By. Esto limita qué clave puede autenticar ese repositorio. Ubuntu describe este enfoque en su guía de repositorios de terceros y APT documenta cómo Signed-Byse realiza la verificación de ámbitos en el manual sources.list .
1. Encuentra la fuente que generó el error.
Enumera las entradas del repositorio y busca el host que aparece en la salida de APT:
grep -RniE '^[[:space:]]*(deb|URIs:)' /etc/apt/sources.list /etc/apt/sources.list.d/ 2>/dev/null
Ubuntu 24.04 y versiones posteriores suelen usar archivos deb822 que terminan en .sources; versiones anteriores suelen usar archivos de una sola línea que terminan en .list. La documentación de gestión de paquetes de Ubuntu describe estos formatos de código fuente. No edite la entrada del archivo de Ubuntu para reparar un repositorio de proveedor no relacionado.
2. Obtenga y verifique la clave actual del editor.
Abra la página de configuración del repositorio oficial del editor de software y confirme que se especifican la URL del repositorio, la versión de Ubuntu compatible, la ubicación de descarga de la clave de firma y la huella digital completa de la clave. Descargue la clave únicamente de una fuente identificada por el editor. Compare la huella digital completa, no solo el identificador hexadecimal corto que aparece después de NO_PUBKEY. El manual de seguridad de APT enfatiza la importancia de obtener las claves a través de un canal de confianza; confiar en una clave incorrecta comprometería la verificación del repositorio.
El siguiente ejemplo utiliza una clave codificada en ASCII. Reemplace la URL y el nombre del archivo del ejemplo con los valores oficiales del editor:
curl -fsSLo /tmp/vendor-archive.asc https://packages.vendor.example/ubuntu/archive-key.asc
gpg --show-keys --with-fingerprint /tmp/vendor-archive.asc
Proceda únicamente cuando la huella digital mostrada coincida con la documentada por el editor. Conviértala a un llavero binario y colóquela en el directorio de llaveros locales de APT:
sudo install -d -m 0755 /etc/apt/keyrings
gpg --dearmor --output /tmp/vendor-archive.gpg /tmp/vendor-archive.asc
sudo install -m 0644 /tmp/vendor-archive.gpg /etc/apt/keyrings/vendor-archive-keyring.gpg
El dominio de ejemplo es ilustrativo y no descargará una clave real del proveedor. Utilice la URL exacta de la clave verificada proporcionada por el editor del software. No utilice el resultado de una búsqueda en un servidor de claves como sustituto de la confirmación de la propiedad de la clave.
3. Defina el alcance de la clave en el código fuente del repositorio.
Para una entrada de una sola línea .list, el patrón es:
deb [signed-by=/etc/apt/keyrings/vendor-archive-keyring.gpg] https://packages.vendor.example/ubuntu noble main
Para un archivo deb822 .sources, los campos correspondientes tienen este aspecto:
Types: deb
URIs: https://packages.vendor.example/ubuntu
Suites: noble
Components: main
Signed-By: /etc/apt/keyrings/vendor-archive-keyring.gpg
Estas son plantillas, no entradas de origen universalmente válidas. Mantenga la URI, el conjunto y los componentes de las instrucciones de configuración oficiales del proveedor; un nombre en clave de Ubuntu incorrecto puede crear conflictos de paquetes incluso cuando la clave es válida. Asegúrese de que la ruta del llavero coincida con el archivo que instaló. El llavero debe ser legible por _aptel usuario sin privilegios de APT, por lo que el ejemplo lo instala con el modo 0644. Elimine o corrija las entradas duplicadas para el mismo repositorio para que una entrada antigua sin ámbito no siga produciendo la advertencia.
El comando APT apt-keyestá obsoleto para la configuración de repositorios estándar. Evite las guías que agregan claves de terceros globalmente apt-key advo que colocan todas las claves de proveedores en un llavero de confianza común. Una Signed-Byentrada con ámbito definido aclara la relación de confianza y reduce el impacto de confiar en una sola clave de repositorio.
Si la advertencia es para el propio archivo de Ubuntu
Primero, compruebe que el conjunto de repositorios coincida con la versión de Ubuntu instalada y que la hora del sistema sea correcta. Las claves de firma de archivos de Ubuntu las proporciona el ubuntu-keyringpaquete. Si el llavero instalado está dañado o desactualizado, y APT aún puede descargar y verificar paquetes desde una fuente de Ubuntu configurada válida, reinstálelo con:
sudo apt install --reinstall ubuntu-keyring
Luego, vuelve a ejecutarlo sudo apt update. Si el único problema radica en un archivo de versión obsoleto o en un servidor espejo que proporciona metadatos inconsistentes, reinstalar el llavero podría no solucionar el problema. Consulta la compatibilidad con versiones y la configuración del repositorio de Ubuntu antes de cambiar las claves. No reemplaces la clave del archivo de Ubuntu con una clave descargada de un sitio web ajeno ni desactives la verificación para forzar una actualización.
Borrar los índices en caché solo en caso de discrepancia en los metadatos.
Si APT informa BADSIGde un problema tras una interrupción temporal de la red o un problema con el servidor espejo o proxy, es posible que las listas de paquetes almacenadas en caché localmente estén incompletas o sean inconsistentes. Tras confirmar que la fuente configurada es legítima, borre únicamente los archivos de índice APT almacenados en caché y vuelva a descargarlos.
sudo rm -rf /var/lib/apt/lists/*
sudo apt update
Esto elimina los índices del repositorio descargados, no los paquetes instalados. APT reconstruye los índices en la siguiente actualización. Si BADSIGel problema persiste, deje de repetir la limpieza: compruebe si un proxy de red, una puerta de enlace de caché o un espejo están reescribiendo o sirviendo metadatos incorrectos, y verifique el estado del repositorio con su editor. Eliminar repetidamente los índices no soluciona un problema de firma que el propio repositorio publica incorrectamente.
Confirma la reparación y mantén la protección activada.
Ejecute sudo apt updatenuevamente y verifique que el repositorio afectado finalice sin advertencias de verificación de firma. Luego NO_PUBKEY, verifique un paquete de esa fuente con , reemplazando el nombre con el nombre real del paquete. Confirme que su versión candidata provenga del repositorio esperado antes de instalarla o actualizarla.EXPKEYSIGBADSIGapt-cache policy package-name
No utilice opciones como trusted=yes, allow-insecure=yes, --allow-unauthenticated, o similares como solución permanente. La comprobación de firma de APT verifica que los metadatos del repositorio estén firmados con una clave de confianza; si la desactiva, APT ya no podrá realizar dicha comprobación de integridad. El manual de APT Secure explica la cadena de autenticación de archivos y sus limitaciones. Si el editor ha retirado un repositorio, ha dejado de firmar metadatos o no proporciona una huella digital de clave verificable, elimine o desactive esa fuente en lugar de omitir la verificación.
Documentación revisada el 6 de octubre de 2026. Los formatos de repositorio de Ubuntu y las recomendaciones de gestión de claves pueden variar según la versión; utilice la documentación de la versión de Ubuntu instalada y las instrucciones actuales del editor del repositorio.