Назад | Перейти на главную страницу

gpg --gen-key зависает при достижении достаточной энтропии на centos 6

Пытаюсь сгенерировать ключ для сервера.

gpg --gen-key

Нам нужно сгенерировать много случайных байтов. Рекомендуется выполнить какое-то другое действие (набрать текст на клавиатуре, переместить мышь, использовать диски) во время генерации прайма; это дает генератору случайных чисел больше шансов получить достаточную энтропию.

и он там просто висит.

Есть еще одна ошибка:

невозможно подключиться к `/root/.gnupg/S.gpg-agent ': нет такого файла или каталога

который, кажется, уходит после:

gpg-agent --daemon
GPG_AGENT_INFO = / tmp / gpg-4c5hyT / S.gpg-agent: 1397: 1; экспорт GPG_AGENT_INFO;

#GPG_AGENT_INFO=/tmp/gpg-4c5hyT/S.gpg-agent:1397:1; export GPG_AGENT_INFO;
gpg --gen-key
...

но опять же, он зависает на «... набрать достаточно энтропии».

Не существует "+++++++++++++++++++++++++++++++++++++++++", которые из сообщений на форуме, похоже, следует ожидать, поскольку ключ сгенерирован.

Я пробовал переустановить пакет, но вроде все зависит от gpg.

Я читал, что у других людей возникли проблемы с этим и на centos 6 (тогда как centos 5 работает нормально).

Нет ничего примечательного в /var/log/*.

Есть идеи, куда идти дальше?

Спасибо.

Когда gpg --gen-key команда зависает вот так, войдите в другую оболочку и выполните следующую команду:

dd if=/dev/sda of=/dev/zero

(Эта команда в основном читает с вашего жесткого диска и отбрасывает вывод, потому что запись в /dev/zero ничего не будет делать.)

Через несколько секунд / минут команда генерации ключа должна завершиться.

Для более надежного решения вы можете установить утилиты, связанные с генератором случайных чисел, которые будут следить за тем, чтобы у вас всегда было достаточно случайных байтов.

yum install rng-tools

а затем отредактируйте /etc/sysconfig/rngd и добавить EXTRAOPTIONS="-r /dev/random"

Запустить сервис

 service rngd start

Вуаля и живете долго и счастливо :)

Оба комментария, приведенные ранее, совершенно нормальны. Но вот только мои 2 цента.

Проблема с RHEL / centos 6 и энтропией в том, что это ядра без тиков. Таким образом, сами по себе эти ядра не генерируют достаточного количества энтропии. Вы должны подключить клавиатуру или даже какое-то движение мыши или использовать dd, как упоминалось.

Демон rngd великолепен, и большинство коммерческих организаций его используют.

Однако лучший подход, который я видел, - это использование специального устройства TPM. Это небольшое оборудование, которое довольно дорогое. Вы помещаете их, и rngd использует случайную истинную энтропию от источника оборудования. Насколько мне известно, у Fujitsu есть хорошее устройство TPM.

Да, эти три метода в значительной степени покрывают энтропийную часть.

https://gist.github.com/franciscocpg/1575d286548034113884c3185ca88681

Откройте сеанс ssh sudo apt-get install rng-tools В другом окне SSH откройте gpg --gen--key Вернитесь к своему первому сеансу SSH и запустите sudo rngd -r /dev/urandom Пусть это будет продолжаться, пока gpg не сгенерирует ваши ключи!

Тогда ты можешь убить rngd sudo kill -9 $(pidof rngd)

Включите другие ответы, но хотя бы один лайнер, а не рут.

((find / | xargs file) &> /dev/null &); gpg2 --gen-key --batch --passphrase-file output-key.txt key-gen-options.txt

Key-gen-options содержит

Key-Type: 1
Key-Length: 2048
Subkey-Type: 1
Subkey-Length: 2048
Name-Real: myuser
Name-Email: myuser@email.com
Expire-Date: 0

Output-key.txt содержит мой суперсекретный ключ.

EXTRAOPTIONS = "- r / dev / urandom" работал у меня вместо EXTRAOPTIONS = "- r / dev / random"

Я перепробовал все решения и обнаружил, что haveged работает лучше всего, даже когда другие не работают (особенно на безголовом сервере, на котором мало пользовательского ввода или активности).

yum install haveged

apt install haveged

Это начинает haveged служба демона, которая будет держать /dev/random полный энтропии. --key-gen должно завершиться менее чем за минуту.

Вы можете проверить, запустив cat /dev/random. Обычно энтропия быстро иссякает, и она останавливается. Вот почему --key-gen зависает. Но после установки haveged, cat /dev/random должен обеспечивать вывод непрерывно.

Как я это сделал:

  1. pacman -S community/rng-tools
  2. vim /etc/conf.d/rngd добавить RNGD_OPTS="-r /dev/urandom"
  3. systemctl enable --now rngd
  4. gpg-agent --daemon
  5. gpg --full-gen-key

Работал даже когда $GNUPGHOME указывает на настраиваемый каталог.