У меня есть тонна процессов, работающих в фоновом режиме, чтобы попытаться получить достаточно энтропии, но я все еще терплю неудачу.
**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)**
Мне нужен метод, чтобы сгенерировать ключ, который работает, потому что то, что я пытаюсь сделать, очевидно, терпит неудачу.
sudo apt-get install rng-tools
если вы используете Ubuntu, а неsudo yum install rng-utils
как в Fedora, посколькуrng-utils
для Ubuntu не существует пакета.rng-tools
как на Fedora, так и на EL6, поэтому я подозреваю, что опечатка приведена в связанной статье. Кстати, это хорошая идея, чтобы предоставить основные части ответа здесь, и ссылку для справки, в случае, если ссылка не работает в будущем.Я смог сгенерировать ключ
В другом окне SSH открыть
Вернитесь к своей первой сессии SSH и запустите
Пусть это работает, пока gpg не сгенерирует ваши ключи!
источник
/dev/urandom
для генерации ключей любой важности./dev/random
это ошибка дизайна. Он должен блокироваться только при первом (когда-либо) вызове (при первой загрузке), когда энтропия вообще не была собрана. Как и в других ОС. Вместо этого мы получили два бассейна сейчас. Просто никогда не пользуйтесь/dev/random
им, не имеет никаких преимуществ.Чтобы проверить количество байтов энтропии, доступных в настоящее время, используйте
Емкость энтропии имеет размер 4096 байт, который может быть очень быстро исчерпан.
Используя этот небольшой инструмент «readspeed» ( http://1wt.eu/tools/readspeed/ ), вы можете измерить, насколько быстро ковш энтропии заполняется различными методами.
Например, запустите:
и наведите курсор мыши. Вы увидите, что «readspeed» очищает контейнер энтропии, как только он заполнен, и когда вы перемещаете мышь, он немного заполняется.
При использовании различных методов кажется, что ввод с клавиатуры и движения мыши являются наиболее эффективными для пополнения этого сегмента. Сетевые передачи и копии жесткого диска не имеют большого влияния.
Наконец, доступны устройства генерации энтропии, такие как этот: http://www.entropykey.co.uk/ .
источник
+1 для rng-инструментов
В случае, если вы застряли в такой ситуации, как я - у вас нет прав на установку нового программного обеспечения (rng-tools) на сервер без монитора, практически без подключенного оборудования ввода (звуковая карта, клавиатура, мышь). Вы можете запустить этот простой код из другого терминала, подключенного к тому же серверу, чтобы добавить энтропию. Не имеет значения, начнете ли вы запускать это до или после запуска
gpg --gen-key
Первая строка - запустить новую оболочку bash с более низким приоритетом (мне нужно было хорошо работать на сервере, которым пользуются многие пользователи). Цикл till бесконечен, поэтому не забывайте прерывать его после генерации ключа. Все, что он делает, заставляет сетевой трафик увеличивать энтропию. Он также отслеживает счетчик entropy_avail, чтобы показать, как он заполняется и опорожняется с другой стороны gpg. В моем случае счетчик быстро заполнился до 64 и опустошился до 0 (думаю, gpg набирает частоту 64). Я ожидал генерации 4096-битного ключа более 3 часов на сервере. После запуска этого скрипта он завершился менее чем за 5 минут.
источник
[ $COUNT -lt 0 ]
. Потому что для системы с действительно меньшей энтропией она иногда достигает 0 и останавливается. GPG действительно жаждет энтропии.Я был привязан и полон решимости генерировать энтропию на моем безголовом сервере Ubuntu 14.04 для генерации ключа 4096 с
gpg --gen-key
Существует пакет для генерации энтропии, называемый hasged. Пример установки:
sudo apt-get install haveged
Мне пришлось,
sudo apt-get install rng-tools
так как это зависимость в следующем тесте.Пример теста, чтобы увидеть, генерируется ли энтропия hasged:
cat /dev/random | rngtest -c 1000
Я узнал об этом в уроке здесь:
https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-haveged
Теперь у меня есть ключи после запуска
gpg --gen-key
источник
Я столкнулся с этой проблемой при запуске
pacman-key --init
в арке. Другие решения здесь не работали хорошо для меня, но я обнаружил, что просто закачка моего маршрутизатора работает хорошо:ping -f ip.of.my.router
источник
Ну, это проще, чем я думал, по сравнению с решениями, представленными здесь:
Случайных байтов, предоставленных вышеприведенной командой, было достаточно для обеспечения необходимой энтропии для генерации пары ключей RSA / 4096.
Взято из: https://www.thingy-ma-jig.co.uk/blog/22-01-2010/generate-entropy-gnupg
источник
haveged
это лучший способ, но если вы не можете ничего установить, то вы можете вручную генерировать энтропию. Этот метод позволилgpg --gen-ken
завершить в течение 1-2 минут на моей машине (по сравнению с 10 сhaveged
). Так что примерно в 10 раз медленнее.Запустите это в другом терминале во время
gpg --gen-key
работы:Один лайнер:
источник