summaryrefslogtreecommitdiff
path: root/WARNING.RNG
diff options
context:
space:
mode:
Diffstat (limited to 'WARNING.RNG')
-rw-r--r--WARNING.RNG35
1 files changed, 24 insertions, 11 deletions
diff --git a/WARNING.RNG b/WARNING.RNG
index 487346ef3..ae43930a7 100644
--- a/WARNING.RNG
+++ b/WARNING.RNG
@@ -28,8 +28,12 @@ On to the description...
28The portable OpenSSH contains random number collection support for 28The portable OpenSSH contains random number collection support for
29systems which lack a kernel entropy pool (/dev/random). 29systems which lack a kernel entropy pool (/dev/random).
30 30
31This collector operates by executing the programs listed in 31This collector (as of 3.1 and beyond) comes as an external application
32($etcdir)/ssh_prng_cmds, reading their output and adding it to the 32that allows the local admin to decide on how to implement entropy
33collection.
34
35The default entropy collector operates by executing the programs listed
36in ($etcdir)/ssh_prng_cmds, reading their output and adding it to the
33PRNG supplied by OpenSSL (which is hash-based). It also stirs in the 37PRNG supplied by OpenSSL (which is hash-based). It also stirs in the
34output of several system calls and timings from the execution of the 38output of several system calls and timings from the execution of the
35programs that it runs. 39programs that it runs.
@@ -43,7 +47,7 @@ The random number code will also read and save a seed file to
43number generator at startup. The goal here is to maintain as much 47number generator at startup. The goal here is to maintain as much
44randomness between sessions as possible. 48randomness between sessions as possible.
45 49
46The entropy collection code has two main problems: 50The default entropy collection code has two main problems:
47 51
481. It is slow. 521. It is slow.
49 53
@@ -51,14 +55,13 @@ Executing each program in the list can take a large amount of time,
51especially on slower machines. Additionally some program can take a 55especially on slower machines. Additionally some program can take a
52disproportionate time to execute. 56disproportionate time to execute.
53 57
54This can be tuned by the administrator. To debug the entropy 58Tuning the default entropy collection code is difficult at this point.
55collection is great detail, turn on full debugging ("ssh -v -v -v" or 59It requires doing 'times ./ssh-rand-helper' and modifying the
56"sshd -d -d -d"). This will list each program as it is executed, how 60($etcdir)/ssh_prng_cmds until you have found the issue. In the next
57long it took to execute, its exit status and whether and how much data 61release we will be looking at support '-v' for verbose output to allow
58it generated. You can the find the culprit programs which are causing 62easier debugging.
59the real slow-downs.
60 63
61The entropy collector will timeout programs which take too long 64The default entropy collector will timeout programs which take too long
62to execute, the actual timeout used can be adjusted with the 65to execute, the actual timeout used can be adjusted with the
63--with-entropy-timeout configure option. OpenSSH will not try to 66--with-entropy-timeout configure option. OpenSSH will not try to
64re-execute programs which have not been found, have had a non-zero 67re-execute programs which have not been found, have had a non-zero
@@ -79,5 +82,15 @@ up and various other factors.
79To make matters even more complex, some of the commands are reporting 82To make matters even more complex, some of the commands are reporting
80largely the same data as other commands (eg. the various "ps" calls). 83largely the same data as other commands (eg. the various "ps" calls).
81 84
82$Id: WARNING.RNG,v 1.4 2001/02/09 01:55:36 djm Exp $
83 85
86How to avoid the default entropy code?
87
88The best way is to read the OpenSSL documentation and recompile OpenSSL
89to use prngd or egd. Some platforms (like earily solaris) have 3rd
90party /dev/random devices that can be also used for this task.
91
92If you are forced to use ssh-rand-helper consider still downloading
93prngd/egd and configure OpenSSH using --with-prngd-port=xx or
94--with-prngd-socket=xx (refer to INSTALL for more information).
95
96$Id: WARNING.RNG,v 1.5 2002/04/14 13:16:05 djm Exp $