该rngd
程序来自rng-tools5
Ubuntu/Debian 上的软件包。
# neofetch
...-:::::-... root@dell-7577
.-MMMMMMMMMMMMMMM-. --------------
.-MMMM`..-:::::::-..`MMMM-. OS: Linux Mint 21.1 x86_64
.:MMMM.:MMMMMMMMMMMMMMM:.MMMM:. Host: Inspiron 7577
-MMM-M---MMMMMMMMMMMMMMMMMMM.MMM- Kernel: 5.15.0-57-generic
`:MMM:MM` :MMMM:....::-...-MMMM:MMM:` Uptime: 32 mins
:MMM:MMM` :MM:` `` `` `:MMM:MMM: Packages: 3489 (dpkg), 45 (flatpak), 11 (snap)
.MMM.MMMM` :MM. -MM. .MM- `MMMM.MMM. Shell: bash 5.1.16
:MMM:MMMM` :MM. -MM- .MM: `MMMM-MMM: Resolution: 1920x1080
:MMM:MMMM` :MM. -MM- .MM: `MMMM:MMM: DE: Cinnamon 5.6.5
:MMM:MMMM` :MM. -MM- .MM: `MMMM-MMM: WM: Mutter (Muffin)
.MMM.MMMM` :MM:--:MM:--:MM: `MMMM.MMM. WM Theme: Mint-Y-Dark-Aqua (Mint-Y)
:MMM:MMM- `-MMMMMMMMMMMM-` -MMM-MMM: Theme: Mint-Y-Aqua [GTK2/3]
:MMM:MMM:` `:MMM:MMM: Icons: Mint-Y-Aqua [GTK2/3]
.MMM.MMMM:--------------:MMMM.MMM. Terminal: gnome-terminal
'-MMMM.-MMMMMMMMMMMMMMM-.MMMM-' CPU: Intel i7-7700HQ (8) @ 3.800GHz
'.-MMMM``--:::::--``MMMM-.' GPU: NVIDIA GeForce GTX 1060 Mobile
'-MMMMMMMMMMMMM-' GPU: Intel HD Graphics 630
``-:::::-`` Memory: 1158MiB / 31839MiB
# rngd -v
Available entropy sources:
Intel/AMD hardware rng
DRNG
上面是一台相对较新的笔记本电脑(3.5年),具有第7代Intel CPU,并结合了TPM 2.0(但我不知道是否rngd
默认使用它)。正如您所看到的,没有产生任何错误消息,因此我认为它运行良好,因为没有特殊设置。注意:DRNG
我不知道那是什么。
root @ acer-5742g /root # neofetch
.-/+oossssoo+/-. root@acer-5742g
`:+ssssssssssssssssss+:` ---------------
-+ssssssssssssssssssyyssss+- OS: Ubuntu 22.04.1 LTS x86_64
.ossssssssssssssssssdMMMNysssso. Host: Aspire 5742G V1.24
/ssssssssssshdmmNNmmyNMMMMhssssss/ Kernel: 5.15.0-57-generic
+ssssssssshmydMMMMMMMNddddyssssssss+ Uptime: 36 mins
/sssssssshNMMMyhhyyyyhmNMMMNhssssssss/ Packages: 2099 (dpkg), 8 (snap)
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Shell: bash 5.1.16
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ Resolution: 1920x1080
ossyNMMMNyMMhsssssssssssssshmmmhssssssso WM: Mutter (Muffin)
ossyNMMMNyMMhsssssssssssssshmmmhssssssso WM Theme: ()
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ Theme: Adwaita [GTK3]
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Icons: Adwaita [GTK3]
/sssssssshNMMMyhhyyyyhdNMMMNhssssssss/ Terminal: /dev/pts/0
+sssssssssdmydMMMMMMMMddddyssssssss+ CPU: Intel Pentium P6200 (2) @ 2.133GHz
/ssssssssssshdmNNNNmyNMMMMhssssss/ GPU: NVIDIA GeForce GT 520M
.ossssssssssssssssssdMMMNysssso. GPU: Intel Core Processor
-+sssssssssssssssssyyyssss+- Memory: 689MiB / 3597MiB
`:+ssssssssssssssssss+:`
.-/+oossssoo+/-.
root @ acer-5742g /root # rngd -v
read error
read error
Available entropy sources:
Intel/AMD hardware rng
相比之下,上面的第二台计算机已经有很多年历史了,运行rngd
会产生两个错误,我的意思是:
读取错误
这会以某种方式影响随机性吗rngd
交付对于这些旧机器,他们是否需要以rngd
某种方式调整设置,如果是这样,那么我应该如何或做什么?
谢谢。
手册页:https://linux.die.net/man/8/rngd
关于 DRNG 的注意事项:
数字随机数发生器;它是一种使用 RDRAND 处理器指令实现高质量、高性能熵和随机数生成的英特尔硬件方法。检查:
grep -m1 rdrand /proc/cpuinfo
systemctl status rngd -l
在旧计算机上会产生以下结果:
○ rngd.service - Start entropy gathering daemon (rngd)
Loaded: loaded (/lib/systemd/system/rngd.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Fri 2023-01-06 06:03:46 CET; 1h 19min ago
Docs: man:rngd(8)
Process: 619 ExecStart=/usr/sbin/rngd -f (code=exited, status=0/SUCCESS)
Main PID: 619 (code=exited, status=0/SUCCESS)
CPU: 2ms
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: No entropy sources working, exiting rngd
Jan 06 06:03:46 acer-5742g systemd[1]: rngd.service: Deactivated successfully.
答案1
注意:这是一个伪解决方案,因为您使用设备/dev/random
中的数据填充设备/dev/urandom
。
使用您最喜欢的编辑器编辑此文件:
/etc/systemd/system/multi-user.target.wants/rngd.service
代替:
ExecStart=/usr/sbin/rngd -f
和:
ExecStart=/usr/sbin/rngd -f -r /dev/urandom
保存该文件后,运行:
systemctl daemon-reload && systemctl restart rngd.service
检查之后是否工作:
# systemctl status rngd -l
● rngd.service - Start entropy gathering daemon (rngd)
Loaded: loaded (/lib/systemd/system/rngd.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2023-01-06 08:07:33 CET; 8s ago
Docs: man:rngd(8)
Main PID: 4757 (rngd)
Tasks: 1 (limit: 4173)
Memory: 224.0K
CPU: 2ms
CGroup: /system.slice/rngd.service
└─4757 /usr/sbin/rngd -f -r /dev/urandom
Jan 06 08:07:33 acer-5742g systemd[1]: Started Start entropy gathering daemon (rngd).