Ich verwende es makepasswd
, um eine Reihe zufälliger Passwörter in einer VM zu generieren.
Nach dem Upgrade auf Stretch/Debian 9 generiert das Skript entweder ein oder zwei Passwörter und stoppt oder gar keines.
Es scheint eine ganze Weile zu dauern, bis erneut ein Passwort generiert wird.
Beim ersten Aufruf:
makepasswd
ndmBXpfp3
Es generiert wie erwartet sofort eine zufällige Zeichenfolge.
Zweites Mal:
makepasswd
Und es wartet dort weiter ... und weiter.
Antwort1
Es scheint, makepasswd
dass von der Verwendung einer OpenSSL-API zum Generieren von (Pseudo-)Zufallszahlen auf die heutige Verwendung einer auf basierenden API umgestiegen ist /dev/random
.
Das Problem ist, dass VMs und iOTs (möglicherweise) eine geringe Aktivität aufweisen und nicht genügend Entropie erzeugen, um das Skript zu erfüllen/ makepasswd
trinken aus/dev/random
Während ich versuchte, eine Option zum Trinken von Zufallszahlen zu finden /dev/urandom
, gab es keine.
Ich habe mir also einfach eine alte Version von besorgt makepasswd
, da es sich um ein Perl-Skript handelt, und habe das Skript /opt/bin/makepasswd
auf meinem System auf gerichtet; und das Skript funktioniert nun wie gewohnt und generiert in Sekundenschnelle die über 100 Passwörter, die ich brauche.
Wie aus der Quelle hervorgeht:
Neu makepasswd
:
my $buf = $RNG->bytes($bytes);
Alt makepasswd
:
my $buf = Crypt::OpenSSL::Random::random_pseudo_bytes($bytes);
Interessanterweise wurden die Daten und die Version in der Nähe des Copyrights nicht geändert, was mich eine Weile lang verwirrte.
In beiden:
$Program = 'makepasswd';
$Version = '1.10';
$Author = 'Rob Levin <[email protected]>';
$Date = "Monday, 7 April 1999 at 22:56 (UCT)";
$Copyright = '1997-1999';
Doch vonchangelog.Debian.gz
Convert from Crypt::OpenSSL::Random to Bytes::Random::Secure (closes:
#792535).
-- Colin Watson <[email protected]> Thu, 16 Jul 2015 11:45:20 +0100
Antwort2
Eine andere alternative Lösung, anstatt die Makepasswd-Quellen zu ändern, ist die Installation des Daemons, haveged
um den Schlüsselgenerierungsprozess zu beschleunigen. So installieren Sie ihn:
sudo apt-get install haveged
Nach der Installation makepasswd
funktioniert es auch wie es soll.
Der haveged
Daemon wird jetzt in VMs und IoTs (z. B. Raspberry) benötigt, wo die Entropienormalerweiseniedrig.
Von Debian man haveged
:
NAME
haveged
– Zufallszahlen generieren und das Zufallsgerät von Linux füttern.BESCHREIBUNG
haveged
generiert einen unvorhersehbaren Strom von Zufallszahlen, der aus den indirekten Auswirkungen von Hardwareereignissen auf den verborgenen Prozessorzustand (Caches, Verzweigungsprädiktoren, Speicherübersetzungstabellen usw.) unter Verwendung des HAVEGE-Algorithmus (HArdware Volatile Entropy Gathering and Expansion) gewonnen wird. Der Algorithmus arbeitet im Benutzerbereich, für den Dateisystemzugriff auf den Ausgabestrom sind keine besonderen Berechtigungen erforderlich.Linux speichert Zufallszahlen für die Verteilung über die
/dev/random
Geräteschnittstellen/dev/urandom
. Die Standardmechanismen zum Füllen des/dev/random
Pools reichen möglicherweise nicht aus, um die Anforderungen von Systemen mit hohen Anforderungen oder eingeschränkter Benutzerinteraktion zu erfüllen. Unter diesen Umständenhaveged
kann als privilegierter Daemon ausgeführt werden, um den/dev/random
Pool zu füllen, wenn die Menge an Zufallsbits/dev/random
unter die Untergrenze des Geräts fällt.