Как включить аппаратный генератор случайных чисел на Raspberry Pi

На мой взгляд это должно быть описано в первую очередь в любой статье про Raspberry Pi.

У малинки есть одна существенная проблема, из-за скудной конфигурации ей особенно негде брать данные для энтропии. Аппаратная конфигурация одинакова, мышь и клавиатуру не подключают, аппаратных часов нет, дистрибутивы стандартны. И как следствие, при первом запуске, после включения, генерируются сильно предсказуемые секретные ключи. Если вообще не одинаковые.

Но, в чипе BCM2835 есть аппаратный ГСЧ. Конечно неизвестно как он реализован, и вы не защищены от закладок NSA, но это уже лучше чем обычный псевдорандом. Непонятно чем руководствовались разработчики, но в стандартном дистрибутиве Debian для Raspberry, ГСЧ отключен.

Хорошо что включается он довольно просто.
Нужно отредактировать файл  /etc/modules и добавить в него строку  bcm2708_rng

sudo nano /etc/modules

Установить утилиты для работы с генератором случайных чисел

sudo apt-get install rng-tools

Указать в настройках rng-tools путь к аппаратному ГСЧ отредактировав файл /etc/default/rng-tools

sudo nano /etc/default/rng-tools
HRNGDEVICE=/dev/hwrng

и добавить rng-tools а автозагрузку

sudo systemctl enable rng-tools

Всё, можно перезагрузиться.

sudo shutdown -r now ,

Удалить старые ключи хоста.

sudo rm /etc/ssh/ssh_host_*

И сгенерировать новые.

sudo dpkg-reconfigure openssh-server