33 votos

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 el comando da error

Estoy tratando de instalar Mongodb en Ubuntu 12 pero cuando ejecuto este comando:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
Esto devolvió el error de abajo:

keyserver.ubuntu.com host no encontrado
gpgkeys: HTTP fetch error 7: couldn't connect: no such file or directory
gpg:no se han encontrado datos válidos de openPGP
gpg: Número total de procesos :0

He desactivado el Firewall en Iptables, pero no funciona. ¿Hay alguna idea?

0 votos

¿Puede su sistema resolver keyserver.ubuntu.com como una dirección IP? Es decir, ¿cuál es la salida de dig keyserver.ubuntu.com ?

41voto

Puede que en realidad no sea un problema de búsqueda del servidor de claves, que es lo que sugiere el error. El comando apt-key llama a gpg, que a su vez intenta acceder al servidor de claves. Aparentemente hay un error en gpg por el que si el servidor de claves no tiene la clave que está solicitando, entonces gpg lo interpreta erróneamente como "host no encontrado".

Es muy posible que un servidor de claves que no responda haga lo mismo, y he visto entornos en los que los servidores de claves están bloqueados (reglas de cortafuegos corporativos), por lo que esa podría ser la causa root si hay un cortafuegos ascendente al que no tienes acceso.

Sólo como referencia, la clave está ahí y el servidor de claves está respondiendo actualmente para mí:

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.rh1myoBdSE --trustdb-name /etc/apt//trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv 7F0CEB10
gpg: requesting key 7F0CEB10 from hkp server keyserver.ubuntu.com
gpg: key 7F0CEB10: "Richard Kreuter <richard@10gen.com>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

Puede ser que el puerto sea el problema (lo fue la última vez cuando me encontré con un problema de firewall corporativo), así que intenta hacer esto en el puerto HTTP estándar (80) en su lugar, a ver si eso arregla las cosas:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

4 votos

"hacer esto en el puerto HTTP estándar (80) en su lugar" ¡es un buen truco! tks

2 votos

Advertencia: sin SSL, usted podría ser potencialmente golpeado por un Ataque MitM que le sirve una clave cuya huella digital tiene los mismos ocho caracteres finales ( ejemplo de llave de ataque ). Dicha clave puede ni siquiera ser compartida públicamente, por lo que nunca sabrías que fuiste pwned. Para evitar un ataque de este tipo a partir de claves compartidas públicamente, El servidor de claves de Debian tiene una política que establece que "este servidor sólo devolverá las claves de los registros de claves de Debian".

23voto

Brandd Newman Puntos 128

Me encontré con el mismo problema ya que mi máquina está detrás de un proxy corporativo. Añadiendo el gpg --keyserver-option http-proxy hizo el truco. Parece:

sudo apt-key adv --keyserver-options http-proxy=<myProxy> --keyserver keyserver.ubuntu.com --recv 7F0CEB10

1 votos

¡Gracias! Menos mal que no dejé de leer al principio...

23voto

DKo Puntos 1

Si está utilizando un proxy, por ejemplo el de la empresa, probablemente la única manera sea introducirlo manualmente, lo cual es bastante sencillo. Ejecutar:

sudo apt-get update

y obtener el id de la pub_key. A continuación, vaya a http://keyserver.ubuntu.com/ y buscar la clave como un hexágono, por ejemplo si la clave es 7936A783B y, a continuación, busque 0x7936A783B . Haz clic en el enlace del cachorro y copia el contenido de las llaves y guárdalo en un archivo txt. Vaya a la terminal y navegue hasta el archivo y ejecútelo:

sudo apt-key add key.txt

Si funciona, obtendrá un simple OK retroalimentación. Cuando todas las claves se añaden, entonces usted puede correr:

sudo apt-get update

¡y ahí lo tienes!

3 votos

Esto está muy bien; también es posible utilizar la URL que se obtiene textualmente con apt-key de la siguiente manera: apt-key adv --fetch-keys http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xD6ACA‌​1C817B18ABC

2 votos

@sxc731 - El apt-key La página de manual dice: "Tenga en cuenta que no se realizan comprobaciones, por lo que es fácil socavar completamente la infraestructura de apt-secure(8) si se utiliza sin cuidado". Esto significa que realmente no quieren hacerlo sin SSL. Cambia eso por --fetch-keys https://… y deberías estar razonablemente seguro.

0 votos

@AdamKatz muy buen punto, gracias. Por desgracia no puedo editar mi comentario para aplicar su sugerencia, pero upvoted de todos modos...

1voto

d0lla Puntos 1

(CORRECTO) sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv FDC247B7

(ERROR) sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key FDC247B7

0voto

Aniket Thakur Puntos 261

El segundo enfoque mencionado en este enlace me ha funcionado. Descargue manualmente la clave y la agregue. El enlace proporciona un procedimiento paso a paso para arreglar el error que ocurre debido a la falta de la clave.

0 votos

Los enlaces tienden a perder vigencia, por lo que debe incluirse un extracto de la información de un artículo enlazado.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X