Setup: Ubuntu Server auf einer virtuellen Maschine mit 6 Kernen und 3 GB RAM.
wenn ich versuche , ein zu generieren asymmetric key pair
über GPG
wie diese gpg --gen-key
. Ich erhalte folgende Fehlermeldung:
Not enough random bytes available. Please do some other work to give
the OS a chance to collect more entropy!
Ich habe versucht, ein bisschen zu googeln. Dies ist, was mir klar ist, ich muss ein anderes Terminal starten und eingeben cat /udev/random
-> Es generiert zufällig eine Reihe zufällig generierter Werte, um die Entropie zu erhöhen.
Ich sehe hier keine Veränderung watch cat /proc/sys/kernel/random/entropy_avail
und es bleibt immer noch bestehen, mir den gleichen Fehler zu geben
gpg --gen-key --no-use-agent
. Es funktioniert immer noch nichtrngd -f -r /dev/urandom
Antworten:
Führen Sie Folgendes aus:
Das hat mir geholfen, meine Schlüsselgenerierung schnell abzuschließen.
quelle
ctrl + Z
, um sie zuerst in den Hintergrund zu verschieben und anschließend mit demfg
Befehl wieder in den Vordergrund zu stellen .find /
dauerte es nur wenige Sekunden und fügte kaum 50 Bit hinzuentropy_avail
.haveged
hat funktioniert. Wenn Sie nichts installieren möchten, können Sie die Methode md5sum verwenden .Versuchen Sie zu installieren
haveged
, dies ist ein Daemon, der dem System hilft, Zufallszahlen für Ihren Schlüssel zu generieren.sudo aptitude install haveged
quelle
find / > /dev/null
hat bei mir nicht funktioniert.apt install haveged
.man haveged
sagt--run Default is 0
. Sie können mitsystemctl status haveged
überprüfen, ob der Dienst ausgeführt wird.Schritt 1 Führen Sie zuerst eine Shell aus und lassen Sie sie ls / -R ausführen
Schritt 2 Versuchen Sie nun, den Schlüssel zu generieren, der ausgeführt wird
Weitere Informationen finden Sie unter http://alsdias.blogspot.jp/2012/11/gpg-not-enough-random-bytes-available.html
quelle
ls / -R
erzeugt viel Festplattenaktivität und daher viel Zufälligkeit.ls -R /
dauerte es nur wenige Sekunden und fügte kaum 50 Bit hinzuentropy_avail
.haveged
hat funktioniert. Wenn Sie nichts installieren möchten, können Sie die Methode md5sum verwenden .Ich habe verschiedene Tricks ausprobiert, während ich den
/proc/sys/kernel/random/entropy_avail
Wert beobachtet habe. Aber der Versuch, einen MD5-Hash von einer ganzen Festplatte zu erstellen, gab meinem System wirklich Entropie auf Steroiden, ohne zusätzliche Pakete zu installieren.find /dev/disk/by-uuid/ -type l | xargs md5sum
quelle
md5sum /dev/sda
, aber er sucht den tatsächlichen Namen des Plattengeräts vom Symlink in/dev/disk/by-uuid
find /
undls -R /
dauerte nur ein paar Sekunden und nur etwa 50 Bits hinzugefügtentropy_avail
. Dies war der Trick, nach einer Minute füllte es die bisentropy_avail
zu 2000 Bits und ich konnte laufen,--gen-key
ohne zu hängen. Wenn es Ihnen nichts ausmacht, ein Paket zu installieren,haveged
funktioniert es auch hervorragend.Versuch rngd zu installieren. Wenn Ihre CPU einigermaßen modern ist, ist ein Hardware-Zufallszahlengenerator eingebaut, und rngd verwendet diesen, um genügend Entropie zu erzeugen.
Achten Sie auf Leute, die Ihnen sagen, dass Sie rennen sollen
rngd -r /dev/urandom
. Dies beseitigt zwar Ihren Fehler, täuscht jedoch Entropie vor und führt zu unsicheren Schlüsseln.quelle
sudo apt install rng-tools
. Der Dienst wird automatisch gestartetsystemctl status rng-tools
. Sie müssen keine zusätzlichen Befehle ausführen. Funktioniert jedochrng-tools
nicht gut auf einer VM, da sie wahrscheinlich keinen Zugriff auf die CPU TRNG hat.haveged
funktioniert auf einer VM viel besser.Bewegen Sie die Maus etwa 30 Sekunden lang in einem neuen Tab und versuchen Sie dann Folgendes:
Dadurch wird zufälliger Code auf dem Bildschirm ausgedruckt. In wenigen Minuten wäre eine ausreichende Menge an pseudozufälligen Daten generiert worden, um die Schlüsselgenerierung abzuschließen.
quelle
Dies ist die Lösung, die ich dafür gefunden habe
ich musste es tun
gpg --gen-key --no-use-agent
Danach habe ich in einem anderen Terminal geschossen
cat /dev/random
Das hat zum Glück für mich am Ende geklappt :)
quelle
Versuchen Sie, (auf einer anderen Terminal-Registerkarte)
$cat /proc/sys/kernel/random/entropy_avail
in der Befehlszeile auszuführen. Es wird weniger als 100-200 zurückgegeben. Dann stimmt etwas nicht. Installieren Sie rng-tools$sudo apt-get install rng-tools
Das hätte dieses Problem beheben sollen. Überprüfen Sie die vorherige Registerkarte und Sie haben den Schlüssel
quelle
Ich habe ein paar Mal apt-get install libreoffice und apt-get remove libreoffice * ausgeführt. Das hat funktioniert. Wählen Sie ein anderes großes Fettprogramm für sich.
quelle
Ich versuche zu lösen. Ich benutze Fedora 25 mit gpg1 und gpg2 habe als Standard für mechine installiert.
Erklären Sie über das Problem .
Wenn Sie Fedora 25 OS verwenden, wird bei otrust.tmp ein Konflikt zwischen gpg und ownertrust angezeigt (bitte entfernen Sie das alte trustdb.gpg). und muss neue trustdb.gpg erstellen.
Bitte folgen Sie diesem Befehl bei Ihrem Terminalbefehl. (muss nicht root-Modus). Sie können versuchen, die Vertrauensdatenbank mithilfe der folgenden Befehle neu zu erstellen:
dann kannst du verwenden
quelle
Am Ende der GPG-Nachricht sehen Sie Klammern wie (125 Byte übrig).
Das GPG benötigt einige zufällige Bytes, die Sie eingeben müssen. Drücken Sie also Strg-z und geben Sie eine zufällige Menge von x-Zeichen (Zahl in Klammern) ein, die nicht unbedingt aussagekräftig sind: dfkheuhasdkjvdaiugekjfhflsdfhuhggskdfjhsjdf
dann mach es 2 oder 3 mal, GPG zeigt eine Antwort, die dir sagt, dass die Schlüsselgenerierung abgeschlossen ist :)
quelle
Sie können Dämonen installieren, um Entropie zu sammeln. Dieser Befehl würde zwei solcher Dämonen installieren:
Ich persönlich würde mich (wegen der Leute, die es erstellt haben) über rng-tools freuen. Aber ich bevorzuge es, beide zu installieren, da sie sehr unterschiedlich sind.
quelle
Führen Sie dann aus,
sudo rngd -r /dev/urandom
bevor Sie die Schlüssel generieren.quelle
Laufen
$ sudo rngd -r /dev/urandom
Dann rennen
$ gpg --user-agent
und
$ ps -ef | egrep rngd
(zeigt die Prozessnummer von rngd, zB 9999)dann
$ sudo kill 9999
arbeitete für mich auf meinem Ubuntu 13.04 System.
quelle
Verwenden Sie einfach einen anderen zufälligen Hersteller unter Ubuntu:
und wiederholen Sie Ihren gpg-Befehl
quelle