GNU/Linux >> LINUX-Kenntnisse >  >> Linux

GPG hat nicht genug Entropie

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

aus
sudo 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


Linux
  1. Wie entscheidet ein Programm, ob es eine farbige Ausgabe haben soll oder nicht?

  2. Hat Curl eine Zeitüberschreitung?

  3. uuidgen:Befehl nicht gefunden

  4. named-checkconf:Befehl nicht gefunden

  5. virt-sparsify:Befehl nicht gefunden

virt-manager:Befehl nicht gefunden

xeyes:Befehl nicht gefunden

GoBuster:Befehl nicht gefunden

gedit:Befehl nicht gefunden

Hat Python ein argc-Argument?

Hat Python eine Synchronisierung?