在 SCO OpenServer 5.0.7 MP5 上,尝试使用任何基于 ssh 的实用程序时,将返回以下内容,并且不会发生任何预期的 SSH 连接:
PRNG not seeded
如何解决此问题(重启后该情况仍然存在)?
工作系统和非工作系统之间的系统启动脚本看起来相同。
针对 Linux 和各种 UNIX 给出的答案是,必须验证是否存在或分配给以下各项的权限:/dev/随机和/或/dev/urandom。此 UNIX 在工作系统上没有此类设备,因此这些答案没有帮助。
答案1
通过搜索系统的各个部分以查找以下实例,解决方案成为可能普林格以不区分大小写的方式。
初步调查显示,在配置相似的系统上,但其中一个工作而另一个不工作时,配置看起来相同,但在非工作系统上,in.prngd服务未运行。
# ps -ef | grep prng
root 350 1 0 Mar-23 ? 00:00:11 /etc/in.prngd /etc/egd-pool
在两个系统、配置文件、脚本和二进制文件之间,在或之下/ETC看似与普林格具有相同的总和,并且系统软件验证显示没有可自动纠正的异常情况。
在下面启动脚本/etc/rc?.d/是相同的,与普林格启动显然由/etc/rc2.d/S85tcp。对该文件的检查似乎表明该服务是通过调用启动的/etc/prngd, 和/var/adm/rc.log似乎显示系统尝试启动该服务。
Starting TCP services: prngd inetd snmpd sshd ntpd
尝试手动使用/etc/prngd查询或启动服务失败并出现类似错误:
# /etc/prngd query
/etc/prngd: ^X: bad number
副本是由/etc/prngd, 和设置-x插入:
...
+ get_server_pid
+ [ -r /etc/prngd.lock ]
+ read line
+ set -- junk
+ shift
+ return
/tmp/prngd: ^X: bad number
在工作制度上,/etc/prngd.lock非空,包含正在运行的 in.prngd 进程的 PID。在非工作系统上,该文件为空。
解决方案:
# rm -f /etc/prngd.lock