Estoy usando Ubuntu 9.10 y necesito agregar algunos repositorios aptos. Desafortunadamente, recibo mensajes como este cuando ejecuto sudo apt-get update
:
W: GPG error: http://ppa.launchpad.net karmic Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5A9BF3BB4E5E17B5
W: GPG error: http://ppa.launchpad.net karmic Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1DABDBB4CEC06767
Entonces, necesito instalar las claves para estos repositorios. Bajo 9.10 ahora tenemos la opción de hacer esto:
sudo add-apt-repository ppa:nvidia-vdpau/ppa
Vea este artículo de ayuda de Ubuntu para más detalles.
Esto es genial, excepto que lo estoy ejecutando en una estación de trabajo detrás de un firewall que bloquea las conexiones salientes a casi todos los puertos, excepto los requeridos por las secretarias que ejecutan Windows e IE.
El puerto en cuestión aquí es el servicio hkp, puerto 11371.
Parece que hay formas de descargar claves manualmente e instalarlas en el llavero de apt. Incluso puede haber una manera de usar add-apt-repository o wget o algo así para descargar una clave desde un servidor alternativo que la haga disponible en el puerto 80.
Sin embargo, todavía no he encontrado un conjunto conciso de pasos para hacerlo. Lo que estoy buscando es:
- Cómo encontrar una clave pública para un paquete apt (recomendaciones de recursos que tienen estos, y / o consejos para buscar. Buscar el hash clave no parece tan efectivo hasta ahora).
- Cómo recuperar una clave (¿se puede hacer automáticamente usando gpg o add-apt-repository?)
- Cómo agregar una clave al llavero de apt
Gracias por adelantado.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys KEY_HASH
hkp://keyserver.ubuntu.com:80
funciona en 10.04 también.--keyserver hkp://keyserver.ubuntu.com:80
fuente
Aquí hay una solución alternativa que utilicé:
Me conecté a un servidor Linux en el mundo libre más allá de nuestro firewall corporativo, e hice esto:
Luego, en mi estación de trabajo, ejecuté esto y pegué el resultado del comando anterior (la clave pública) en el stdin, seguido de control-D:
Entonces pude correr
sudo apt-get update
sin problemas.Todavía creo que tiene que haber una mejor manera, idealmente algo que pueda escribir.
fuente
Tengo otra solución aquí que podría ser útil si no puede encontrar otro servidor Linux fuera de su red como proxy. Simplemente envíe un correo electrónico a "[email protected]" como asunto como "get 0x1DABDBB4CEC06767". Pero probablemente aún no pueda escribir un script simple para automatizar esto.
fuente
Puede ir al sitio web del servidor de claves, por ejemplo, http://wwwkeys.eu.pgp.net/ Busque la firma de la clave (debe agregar 0x a la firma hexadecimal), es decir, 0x1DABDBB4CEC06767.
Haga clic en el enlace que recibirá y pegue el texto en un archivo en la máquina, es decir
Luego
Esto funcionó bien para mi; parece que mi proxy de trabajo bloquea muchos puertos "no estándar".
fuente
Encontré una forma ordenada de hacerlo en un solo comando a través del puerto 80, que siempre está abierto para el tráfico de www.
http://gurrier.wordpress.com/2010/10/02/downlolading-repo-keys-from-behind-a-corporate-firewall/
fuente
Una solución simple es:
El servidor de seguridad no bloquearía el https seguro (443 saliente).
fuente
Simplemente uso ssh para reenviar el puerto a un host externo y luego ejecuto el
apt-add-repo
comando.fuente
Tuve el mismo problema con gpg. La solución para agregar el puerto al nombre del servidor funcionó editando mi
~/.gnupg/gpg.conf
archivo. Sin embargo, todavía voy a pedirle a nuestro administrador de sistemas que abra el puerto de salida 11371, por lo que no tengo que preocuparme por esto nuevamente.fuente