Solution 1 :
Avez-vous jeté un œil à RNG ?
Types Fedora/Rh/Centos :sudo yum install rng-tools
Sur les types deb :sudo apt-get install rng-tools
pour le configurer.
Ensuite, exécutez sudo rngd -r /dev/urandom
avant de générer les clés.
Référence :http://it.toolbox.com/blogs/lim/how-to-generate-enough-entropy-for-gpg-key-generation-process-on-fedora-linux-38022
Solution 2 :
J'ai pu générer la clé en
apt-get install rng-tools
Dans une autre fenêtre SSH, ouvrez
gpg --gen-key
Revenez à votre première session SSH et exécutez
sudo rngd -r /dev/urandom
Laissez-le fonctionner jusqu'à ce que gpg génère vos clés !
Solution 3 :
Pour vérifier la quantité d'octets d'entropie actuellement disponible, utilisez
cat /proc/sys/kernel/random/entropy_avail
Le seau d'entropie a une taille de 4096 octets, ce qui peut très rapidement être épuisé.
En utilisant ce petit outil "readspeed" (http://1wt.eu/tools/readspeed/), vous pouvez mesurer la vitesse à laquelle le seau d'entropie est rempli avec différentes méthodes.
Par exemple, lancez :
$ ./readspeed < /dev/random
et déplacez votre souris. Vous verrez que 'readspeed' vide le seau d'entropie dès qu'il est rempli, et lorsque vous déplacez la souris, il se remplit un peu.
En essayant différentes méthodes, il semble que la saisie au clavier et les mouvements de la souris soient les plus efficaces pour reconstituer ce seau. Les transferts réseau et les copies sur disque dur n'ont pas beaucoup d'influence.
Enfin, il existe des dispositifs de génération d'entropie disponibles, comme celui-ci :http://www.entropykey.co.uk/.
Solution 4 :
+1 pour rng-tools
Au cas où vous seriez coincé dans la situation que je suis - ne pas avoir les autorisations pour installer de nouveaux logiciels (rng-tools) sur un serveur sans tête avec pratiquement aucun matériel d'entrée (carte son, clavier, souris) connecté. Vous pouvez exécuter ce code simple à partir d'un autre terminal connecté au même serveur, pour ajouter à l'entropie. Peu importe que vous commenciez à l'exécuter avant ou après le démarrage de 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 première ligne consiste à démarrer un nouveau shell bash, avec une priorité inférieure (j'avais besoin d'être gentil sur un serveur partagé par de nombreux utilisateurs). La boucle jusqu'à est infinie, alors n'oubliez pas de la casser une fois la clé générée. ce qui fait que le trafic réseau augmente l'entropie. Il surveille également le compteur entropy_avail pour montrer comment il est rempli et vidé de l'autre côté par gpg. Dans mon cas, le compteur s'est rempli rapidement à 64 et a été vidé à 0 (je suppose que gpg reprend en bloc de 64). J'attendais la génération de clé 4096 bits pendant plus de 3 heures sur le serveur. Après avoir commencé à exécuter ce script, il s'est terminé en moins de 5 minutes.
Solution 5 :
J'étais lié et déterminé à générer de l'entropie sur mon serveur Ubuntu 14.04 sans tête afin de générer une clé 4096 avec gpg --gen-key
Il existe un package pour générer de l'entropie appelé haveged. Exemple d'installation :
sudo apt-get install haveged
J'ai dû sudo apt-get install rng-tools
puisqu'il s'agit d'une dépendance dans le test suivant.
Exemple de test pour voir si l'entropie est générée par haveged :
cat /dev/random | rngtest -c 1000
Une très petite quantité d'échecs est acceptable dans n'importe quel générateur de nombres aléatoires, mais vous pouvez vous attendre à voir 998-1000 succès très souvent lorsque vous utilisez le survol.
Je l'ai découvert dans un tutoriel ici :
https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-haveged
J'ai maintenant des clés après avoir exécuté gpg --gen-key