Solución 1:
¿Has echado un vistazo a RNG?
Tipos Fedora/Rh/Centos:sudo yum install rng-tools
En tipos de deb:sudo apt-get install rng-tools
para configurarlo.
Luego ejecuta sudo rngd -r /dev/urandom
antes de generar las claves.
Referencia:http://it.toolbox.com/blogs/lim/how-to-generate-enough-entropy-for-gpg-key-generation-process-on-fedora-linux-38022
Solución 2:
Pude generar la clave por
apt-get install rng-tools
En otra ventana SSH abierta
gpg --gen-key
Regrese a su primera sesión SSH y ejecute
sudo rngd -r /dev/urandom
¡Deja que esto funcione hasta que gpg genere tus claves!
Solución 3:
Para verificar la cantidad de bytes de entropía disponibles actualmente, use
cat /proc/sys/kernel/random/entropy_avail
El depósito de entropía tiene un tamaño de 4096 bytes, que puede agotarse muy rápidamente.
Con esta pequeña herramienta de 'velocidad de lectura' (http://1wt.eu/tools/readspeed/), puede medir qué tan rápido se llena el cubo de entropía con diferentes métodos.
Por ejemplo, inicie:
$ ./readspeed < /dev/random
y mueve el mouse alrededor. Verás que 'readspeed' vacía el cubo de entropía tan pronto como se llena, y cuando mueves el mouse, se llena un poco.
Al probar diferentes métodos, parece que la entrada del teclado y los movimientos del mouse son los más eficientes para reponer ese cubo. Las transferencias de red y las copias de disco duro no tienen mucha influencia.
Finalmente, hay dispositivos de generación de entropía disponibles, como este:http://www.entropykey.co.uk/.
Solución 4:
+1 para herramientas rng
En caso de que esté atrapado en una situación como la mía, sin permisos para instalar software nuevo (herramientas rng) en un servidor sin periféricos prácticamente sin hardware de entrada (tarjeta de sonido, teclado, mouse) conectado. Puede ejecutar este código simple desde otra terminal conectada al mismo servidor, para agregar a la entropía. No importa si comienza a ejecutar esto antes o después de iniciar gpg --gen-key
$ nice -n 19 bash
$ until [ $COUNT -lt 1 ]; do
let COUNT=`cat /proc/sys/kernel/random/entropy_avail`
echo "`date` COUNTER $COUNT"
done
La primera línea es iniciar un nuevo shell bash, con menor prioridad (necesitaba ser amable en un servidor compartido por muchos usuarios). El ciclo hasta es infinito, así que recuerde romperlo una vez que se genera la clave. Todo lo que está haciendo es haciendo que el tráfico de la red aumente la entropía. También monitorea el contador entropy_avail para mostrar cómo gpg lo llena y lo vacía en el otro lado. En mi caso, el contador se llenó rápidamente a 64 y se vació de nuevo a 0 (supongo que gpg se recupera en un trozo de 64). Estuve esperando la generación de claves de 4096 bits durante más de 3 horas en el servidor. Después de comenzar a ejecutar este script, se terminó en menos de 5 minutos.
Solución 5:
Estaba obligado y decidido a generar entropía en mi servidor Ubuntu 14.04 sin cabeza para generar una clave 4096 con gpg --gen-key
Hay un paquete para generar entropía llamado haveged. Ejemplo de instalación:
sudo apt-get install haveged
Tuve que sudo apt-get install rng-tools
ya que es una dependencia en la siguiente prueba.
Ejemplo de una prueba para ver si haveged genera entropía:
cat /dev/random | rngtest -c 1000
Una cantidad muy pequeña de fallas es aceptable en cualquier generador de números aleatorios, pero puede esperar ver entre 998 y 1000 éxitos con mucha frecuencia al usar el cursor.
Lo descubrí en un tutorial aquí:
https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-haveged
Ahora tengo claves después de ejecutar gpg --gen-key