W tle działa mnóstwo procesów, które próbują uzyskać wystarczającą entropię, ale nadal mi się nie udaje.
**We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
Not enough random bytes available. Please do some other work to give
the OS a chance to collect more entropy! (Need 210 more bytes)**
Potrzebuję metody do wygenerowania klucza, który działa, ponieważ to, co próbuję zrobić, najwyraźniej kończy się niepowodzeniem.
sudo apt-get install rng-tools
jeśli korzystasz z Ubuntu, asudo yum install rng-utils
nie z Fedory, ponieważ nie ma żadnegorng-utils
pakietu dla Ubuntu.rng-tools
zarówno w Fedorze, jak i EL6, więc podejrzewam literówkę w połączonym artykule. BTW, dobrym pomysłem jest podanie tutaj podstawowych części odpowiedzi oraz linku do celów referencyjnych, na wypadek gdyby linek nie działał w przyszłości.Byłem w stanie wygenerować klucz przez
W innym oknie SSH otwórz
Wróć do pierwszej sesji SSH i uruchom
Niech to działa, dopóki gpg nie wygeneruje twoich kluczy!
źródło
/dev/urandom
generowania kluczy o dowolnym znaczeniu./dev/random
jest to błąd projektowy. Powinien on zawsze blokować się przy pierwszym (kiedykolwiek) wywołaniu (przy pierwszym uruchomieniu), gdy nie została jeszcze zgromadzona żadna entropia. Tak jak w innych systemach operacyjnych. Zamiast tego mamy teraz dwie pule. Po prostu nigdy/dev/random
go nie używaj nie ma żadnych zalet.Aby sprawdzić ilość obecnie dostępnych bajtów entropii, użyj
Wiadro entropii ma 4096 bajtów, co można bardzo szybko wyczerpać.
Za pomocą tego małego narzędzia „readspeed” ( http://1wt.eu/tools/readspeed/ ) możesz zmierzyć, jak szybko pojemnik z entropią jest zapełniany różnymi metodami.
Na przykład uruchom:
i poruszaj myszą. Zobaczysz, że „prędkość odczytu” opróżnia wiadro entropii, gdy tylko zostanie wypełnione, a kiedy poruszasz myszą, wypełnia się ono nieco.
Próbując różnych metod, wydaje się, że wprowadzanie klawiatury i ruchy myszy są najskuteczniejsze do uzupełnienia tego segmentu. Transfery sieciowe i kopie dysków twardych nie mają większego wpływu.
Wreszcie dostępne są urządzenia do generowania entropii, takie jak ten: http://www.entropykey.co.uk/ .
źródło
+1 dla narzędzi rng
W przypadku, gdy utkniesz w takiej sytuacji, jak ja - nie mam uprawnień do instalowania nowego oprogramowania (narzędzi rng) na bezgłowym serwerze bez podłączonego sprzętu wejściowego (karta dźwiękowa, klawiatura, mysz). Możesz uruchomić ten prosty kod z innego terminala podłączonego do tego samego serwera, aby dodać do entropii. Nie ma znaczenia, czy uruchomisz to przed czy po uruchomieniu
gpg --gen-key
Pierwsza linia to uruchomienie nowej powłoki bash, o niższym priorytecie (musiałem być miły na serwerze współdzielonym przez wielu użytkowników). Pętla till jest nieskończona, więc pamiętaj, aby ją przerwać po wygenerowaniu klucza. Wszystko, co robi, powoduje zwiększenie ruchu sieciowego w entropii. Monitoruje również licznik entropy_avail, aby pokazać, jak jest wypełniany i opróżniany po drugiej stronie przez gpg. W moim przypadku licznik szybko zapełnił się do 64 i opróżniono z powrotem do 0 (zgadnij, że gpg podnosi się w kawałku 64). Czekałem na generowanie klucza 4096 bitów przez ponad 3 godziny na serwerze. Po uruchomieniu tego skryptu skończył się w niecałe 5 minut.
źródło
[ $COUNT -lt 0 ]
. Ponieważ w systemie z naprawdę mniejszą entropią czasami osiąga 0 i zatrzymuje się. GPG jest naprawdę głodna entropii.Byłem zobowiązany i zdecydowany wygenerować entropię na moim bezgłowym serwerze Ubuntu 14.04 w celu wygenerowania klucza 4096
gpg --gen-key
Istnieje pakiet do generowania entropii o nazwie haveged. Przykład instalacji:
sudo apt-get install haveged
Musiałem to zrobić,
sudo apt-get install rng-tools
ponieważ jest to zależność w poniższym teście.Przykład testu sprawdzającego, czy entropia jest generowana przez haveged:
cat /dev/random | rngtest -c 1000
Dowiedziałem się o tym w tutorialu tutaj:
https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-haveged
Teraz mam klucze po uruchomieniu
gpg --gen-key
źródło
Natknąłem się na ten problem podczas uruchamiania
pacman-key --init
w arch. Inne rozwiązania tutaj nie działały dla mnie dobrze, ale stwierdziłem, że po prostu pingowanie routera działało dobrze:ping -f ip.of.my.router
źródło
Cóż, jest to łatwiejsze niż myślałem, w porównaniu z rozwiązaniami przedstawionymi tutaj:
Losowe bajty dostarczone przez powyższe polecenie były wystarczające, aby zapewnić wymaganą entropię do wygenerowania pary kluczy RSA / 4096.
Zaczerpnięte z: https://www.thingy-ma-jig.co.uk/blog/22-01-2010/generate-entropy-gnupg
źródło
haveged
jest najlepszym sposobem, ale jeśli nie możesz nic zainstalować, możesz ręcznie wygenerować entropię. Ta metoda pozwoliłagpg --gen-ken
zakończyć się w ciągu 1-2 minut na mojej maszynie (w porównaniu do 10 sekund zhaveged
). To około 10 razy wolniej.Uruchom to w innym terminalu podczas
gpg --gen-key
działania:Jedna wkładka:
źródło