Lösung 1:
Hast du dir mal RNG angeschaut?
Fedora/Rh/Centos-Typen:sudo yum install rng-tools
Bei deb-Typen:sudo apt-get install rng-tools
um es einzurichten.
Führen Sie dann sudo rngd -r /dev/urandom
aus bevor die Schlüssel generiert werden.
Referenz:http://it.toolbox.com/blogs/lim/how-to-generate-enough-entropy-for-gpg-key-generation-process-on-fedora-linux-38022
Lösung 2:
Ich konnte den Schlüssel generieren von
apt-get install rng-tools
Öffnen Sie in einem anderen SSH-Fenster
gpg --gen-key
Gehen Sie zurück zu Ihrer ersten SSH-Sitzung und führen Sie
aussudo rngd -r /dev/urandom
Lassen Sie dies laufen, bis gpg Ihre Schlüssel generiert!
Lösung 3:
Um die derzeit verfügbare Menge an Entropiebytes zu prüfen, verwenden Sie
cat /proc/sys/kernel/random/entropy_avail
Der Entropie-Bucket ist 4096 Bytes groß, was sehr schnell erschöpft sein kann.
Mit diesem kleinen 'readspeed'-Tool (http://1wt.eu/tools/readspeed/) können Sie mit verschiedenen Methoden messen, wie schnell der Entropieeimer gefüllt wird.
Starten Sie beispielsweise :
$ ./readspeed < /dev/random
und bewege deine Maus umher. Sie werden sehen, dass 'readspeed' den Entropieeimer leert, sobald er gefüllt ist, und wenn Sie die Maus bewegen, füllt er sich ein wenig.
Beim Ausprobieren verschiedener Methoden scheint es, dass Tastatureingaben und Mausbewegungen am effizientesten sind, um diesen Eimer aufzufüllen. Netzwerkübertragungen und Festplattenkopien haben keinen großen Einfluss.
Schließlich gibt es Geräte zur Entropieerzeugung, wie zum Beispiel dieses hier:http://www.entropykey.co.uk/.
Lösung 4:
+1 für rng-tools
Falls Sie in einer Situation stecken wie ich - keine Berechtigung zum Installieren neuer Software (rng-tools) auf einem Headless-Server mit praktisch keiner angeschlossenen Eingabehardware (Soundkarte, Tastatur, Maus). Sie können diesen einfachen Code von einem anderen Terminal ausführen, das mit demselben Server verbunden ist, um die Entropie zu erhöhen. Es spielt keine Rolle, ob Sie dies vor oder nach dem Start von gpg --gen-key
ausführen
$ nice -n 19 bash
$ until [ $COUNT -lt 1 ]; do
let COUNT=`cat /proc/sys/kernel/random/entropy_avail`
echo "`date` COUNTER $COUNT"
done
Die erste Zeile besteht darin, eine neue Bash-Shell mit niedrigerer Priorität zu starten (ich musste auf einem Server, der von vielen Benutzern gemeinsam genutzt wird, nett sein). Die until-Schleife ist unendlich, also denken Sie daran, sie zu unterbrechen, sobald der Schlüssel generiert wurde wodurch der Netzwerkverkehr die Entropie erhöht. Es überwacht auch den entropy_avail-Zähler, um zu zeigen, wie er auf der anderen Seite von gpg gefüllt und geleert wird. In meinem Fall füllte sich der Zähler schnell auf 64 und wurde wieder auf 0 geleert (schätze, gpg nimmt einen Block von 64 auf). Ich habe über 3 Stunden auf dem Server auf die 4096-Bit-Schlüsselgenerierung gewartet. Nachdem Sie mit der Ausführung dieses Skripts begonnen hatten, war es in weniger als 5 Minuten fertig.
Lösung 5:
Ich war verpflichtet und entschlossen, auf meinem kopflosen Ubuntu 14.04-Server Entropie zu erzeugen, um einen 4096-Schlüssel mit gpg --gen-key
zu generieren
Es gibt ein Paket zum Generieren von Entropie namens haveged. Installationsbeispiel:
sudo apt-get install haveged
Ich musste sudo apt-get install rng-tools
da es sich im folgenden Test um eine Abhängigkeit handelt.
Beispiel für einen Test, um zu sehen, ob Entropie von haveged erzeugt wird:
cat /dev/random | rngtest -c 1000
Eine sehr kleine Anzahl von Fehlern ist in jedem Zufallszahlengenerator akzeptabel, aber Sie können erwarten, dass Sie sehr oft 998-1000 Erfolge sehen, wenn Sie Hovered verwenden.
Ich habe es in einem Tutorial hier herausgefunden:
https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-haveged
Ich habe jetzt Schlüssel, nachdem ich gpg --gen-key
ausgeführt habe