El ppa de confianza oficial de nginx da un error gpg KEYEXPIRED

34

Recibo el siguiente error cada vez que hago apt-get upgrade:

Error de GPG: http://nginx.org versión de confianza: Las siguientes firmas no eran válidas: KEYEXPIRED 1471427554

Acabo de instalar el nginx ppa oficial de la manera estándar, al agregar lo siguiente a mis fuentes.

deb http://nginx.org/packages/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/ubuntu/ trusty nginx

¿Es este un error de su parte que eventualmente arreglarán con suerte, o hay algo que voy a tener que hacer de mi parte?

Mohamed Hafez
fuente
1
¿ Descargó esta clave de NGINX , luego la ejecutó sudo apt-key add nginx_signing.keyy aún recibe este error?
Thomas Ward
2
esto sucede ... a veces. Pero esto ("1471427554") no parece una clave GPG válida. wget http://nginx.org/keys/nginx_signing.key -O - |sudo apt-key add -realizará los dos pasos sugeridos por @ThomasWard en un pequeño comando.
Phillip -Zyan K Lee- Stockmann
LANG=C sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 1471427554devuelve el siguiente error: Executing: /tmp/tmp.EU8uLKmT5b/gpg.1.sh --keyserver keys.gnupg.net --recv-keys 1471427554 gpg: "1471427554" not a key ID: skipping
Phillip -Zyan K Lee- Stockmann
1
Sí, el archivo de clave también está disponible a través de https.
Phillip -Zyan K Lee- Stockmann
1
@Phillip: En realidad, 1471427554 es la marca de tiempo del tiempo de vencimiento de la clave de firma APT. Las versiones modernas del comando date lo analizarán en un formato legible para usted: date -u -d @1471427554give Wed Aug 17 09:52:34 UTC 2016.
BertD

Respuestas:

48

Después de agregar un repositorio de terceros a un /etc/apt/sources.list.d/*archivo o /etc/apt/sources.list, debe asegurarse de que la clave gpg correspondiente esté insertada en el almacén de claves de apt.

Para ser más específico para este caso especial del repositorio nginx.org: debe agregar el archivo de clave gpg nginx.org utilizado para la firma del repositorio.

Esto se puede hacer descargando el archivo https://nginx.org/keys/nginx_signing.key manualmente y emitiendo sudo apt-key add nginx_signing.key(como lo sugieren nginx.org y @ThomasWard) o puede hacerlo en una sola línea:

wget https://nginx.org/keys/nginx_signing.key -O - | sudo apt-key add -
Phillip -Zyan K Lee- Stockmann
fuente
Ok, esto funcionó, pero debo estar leyendo mal o me falta algo. ¿Por qué surgió esto de repente ahora? No entiendo eso.
codenoob
1
@linsong describió por qué esto apareció ahora: la antigua clave gpg había expirado el 17 de agosto. Por lo tanto, necesitaba descargar la nueva clave.
Phillip -Zyan K Lee- Stockmann
11

La causa raíz de este problema se debe a que la clave de firma Nginx "anterior" expiró el 17 de agosto de 2016:

$ sudo apt-key list

pub   2048R/7BD9BF62 2011-08-19 [expired: 2016-08-17]
uid                  nginx signing key <[email protected]>

Para solucionar este problema, agregue la nueva clave de firma con el comando sugerido por @ phillip-zyan-k-lee-stockmann y @ThomasWard:

wget https://nginx.org/keys/nginx_signing.key -O - | sudo apt-key add -

La nueva clave ahora caduca en 2024:

$ sudo apt-key list

pub   2048R/7BD9BF62 2011-08-19 [expires: 2024-06-14]
uid                  nginx signing key <[email protected]>
hwdsl2
fuente
Creo que me gusta esta respuesta en general, ya que intenta explicar qué sucedió mejor. (La explicación anterior no encajaba con mi caso de uso a pesar de la respuesta.)
codenoob