Soluzione 1:
Hai dato un'occhiata a RNG?
Tipi Fedora/Rh/Centos:sudo yum install rng-tools
Sui tipi deb:sudo apt-get install rng-tools
per configurarlo.
Quindi esegui sudo rngd -r /dev/urandom
prima di generare le chiavi.
Riferimento:http://it.toolbox.com/blogs/lim/how-to-generate-enough-entropy-for-gpg-key-generation-process-on-fedora-linux-38022
Soluzione 2:
Sono stato in grado di generare la chiave tramite
apt-get install rng-tools
In un'altra finestra SSH aperta
gpg --gen-key
Torna alla tua prima sessione SSH ed esegui
sudo rngd -r /dev/urandom
Lascia che funzioni finché gpg non genera le tue chiavi!
Soluzione 3:
Per controllare la quantità di byte di entropia attualmente disponibili, usa
cat /proc/sys/kernel/random/entropy_avail
Il secchio di entropia è grande 4096 byte, che può essere esaurito molto rapidamente.
Usando questo piccolo strumento "readspeed" (http://1wt.eu/tools/readspeed/), puoi misurare la velocità con cui il secchio dell'entropia viene riempito con metodi diversi.
Ad esempio, avvia :
$ ./readspeed < /dev/random
e muovi il mouse. Vedrai che 'readspeed' svuota il secchio dell'entropia non appena è pieno, e quando muovi il mouse, si riempie un po'.
Provando metodi diversi, sembra che l'input da tastiera e i movimenti del mouse siano i più efficienti per riempire quel secchio. I trasferimenti di rete e le copie su disco rigido non hanno molta influenza.
Infine, sono disponibili dispositivi per la generazione di entropia, come questo:http://www.entropykey.co.uk/.
Soluzione 4:
+1 per rng-tools
Nel caso in cui tu sia bloccato in una situazione come me, non avendo i permessi per installare nuovo software (rng-tools) su un server headless praticamente senza hardware di input (scheda audio, tastiera, mouse) collegato. Puoi eseguire questo semplice codice da un altro terminale connesso allo stesso server, da aggiungere all'entropia. Non importa se inizi a eseguirlo prima o dopo l'avvio di 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 prima riga è avviare una nuova shell bash, con priorità inferiore (avevo bisogno di essere gentile su un server condiviso da molti utenti). Il ciclo until è infinito, quindi ricordati di interromperlo una volta generata la chiave. Tutto ciò che sta facendo è facendo sì che il traffico di rete aumenti l'entropia. Monitora anche il contatore entropy_avail per mostrare come viene riempito e svuotato dall'altra parte da gpg. Nel mio caso, il contatore si è riempito rapidamente fino a 64 e si è svuotato di nuovo a 0 (presumo che gpg riprenda in un blocco di 64). Stavo aspettando la generazione di chiavi a 4096 bit per oltre 3 ore sul server. Dopo aver avviato l'esecuzione di questo script, è stato completato in meno di 5 minuti.
Soluzione 5:
Ero vincolato e determinato a generare entropia sul mio server Ubuntu 14.04 senza testa per generare una chiave 4096 con gpg --gen-key
C'è un pacchetto per generare entropia chiamato haveged. Esempio di installazione:
sudo apt-get install haveged
Ho dovuto sudo apt-get install rng-tools
poiché è una dipendenza nel seguente test.
Esempio di un test per vedere se l'entropia è generata da haveged:
cat /dev/random | rngtest -c 1000
Una quantità molto piccola di errori è accettabile in qualsiasi generatore di numeri casuali, ma puoi aspettarti di vedere 998-1000 successi molto spesso quando usi hovered.
L'ho scoperto in un tutorial qui:
https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-haveged
Ora ho le chiavi dopo aver eseguito gpg --gen-key