/mandos/release

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/release

« back to all changes in this revision

Viewing changes to mandos-keygen.xml

  • Committer: Teddy Hogeborn
  • Date: 2008-07-20 06:33:48 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080720063348-jscgy5p0itrgvlo8
* mandos-clients.conf ([foo]): Uncommented.
  ([foo]/secret): New.
  ([foo]/secfile): Commented out.
  ([foo]/checker): Changed to "fping -q -- %%(fqdn)s".
  ([foo]/timeout): New.

* server.py: New modeline for Python and Emacs.  Set a logging format.
  (Client.__init__): Bug fix: Choose either the value from the options
                     object or pass the argument through string_to_delta
                     for both "timeout" and "interval".
  (Client.checker_callback): Bug fix: Do not log spurious "Checker for
                             <foo> failed" messages.
  (Client.start_checker): Moved "Starting checker" log message down to
                          just before actually starting the subprocess.
                          Do not redirect the subprocesses' stdout to a
                          pipe.
  (peer_certificate, fingerprint): Added docstrings.
  (entry_group_state_changed): Call "killme()" instead of
                               "main_loop.quit()".
  (daemon, killme): New functions.
  (exitstatus, main_loop_started): New global variables.
  (__main__): Removed the "--cert", "--key", "--ca", and "--crl"
              options.  Removed the sleep command from the default
              checker.  Add a console logger in debug mode.  Call
              "killme()" instead of "main_loop.quit()" when there are no
              more clients.  Call "daemon()" if not in debug mode.
              Register "cleanup()" to run at exit.  Ignore some
              signals.  Catch DBusException to detect another running
              server and exit cleanly.  Exit with "exitstatus".
  (cleanup): New function.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version="1.0" encoding="UTF-8"?>
2
 
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
 
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4
 
<!ENTITY VERSION "1.0">
5
 
<!ENTITY COMMANDNAME "mandos-keygen">
6
 
<!ENTITY TIMESTAMP "2008-08-29">
7
 
]>
8
 
 
9
 
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
10
 
  <refentryinfo>
11
 
    <title>&COMMANDNAME;</title>
12
 
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
13
 
    <productname>&COMMANDNAME;</productname>
14
 
    <productnumber>&VERSION;</productnumber>
15
 
    <date>&TIMESTAMP;</date>
16
 
    <authorgroup>
17
 
      <author>
18
 
        <firstname>Björn</firstname>
19
 
        <surname>Påhlsson</surname>
20
 
        <address>
21
 
          <email>belorn@fukt.bsnet.se</email>
22
 
        </address>
23
 
      </author>
24
 
      <author>
25
 
        <firstname>Teddy</firstname>
26
 
        <surname>Hogeborn</surname>
27
 
        <address>
28
 
          <email>teddy@fukt.bsnet.se</email>
29
 
        </address>
30
 
      </author>
31
 
    </authorgroup>
32
 
    <copyright>
33
 
      <year>2008</year>
34
 
      <holder>Teddy Hogeborn</holder>
35
 
      <holder>Björn Påhlsson</holder>
36
 
    </copyright>
37
 
    <legalnotice>
38
 
      <para>
39
 
        This manual page is free software: you can redistribute it
40
 
        and/or modify it under the terms of the GNU General Public
41
 
        License as published by the Free Software Foundation,
42
 
        either version 3 of the License, or (at your option) any
43
 
        later version.
44
 
      </para>
45
 
 
46
 
      <para>
47
 
        This manual page is distributed in the hope that it will
48
 
        be useful, but WITHOUT ANY WARRANTY; without even the
49
 
        implied warranty of MERCHANTABILITY or FITNESS FOR A
50
 
        PARTICULAR PURPOSE.  See the GNU General Public License
51
 
        for more details.
52
 
      </para>
53
 
 
54
 
      <para>
55
 
        You should have received a copy of the GNU General Public
56
 
        License along with this program; If not, see
57
 
        <ulink url="http://www.gnu.org/licenses/"/>.
58
 
      </para>
59
 
    </legalnotice>
60
 
  </refentryinfo>
61
 
 
62
 
  <refmeta>
63
 
    <refentrytitle>&COMMANDNAME;</refentrytitle>
64
 
    <manvolnum>8</manvolnum>
65
 
  </refmeta>
66
 
  
67
 
  <refnamediv>
68
 
    <refname><command>&COMMANDNAME;</command></refname>
69
 
    <refpurpose>
70
 
      Generate keys for <citerefentry><refentrytitle>password-request
71
 
      </refentrytitle><manvolnum>8mandos</manvolnum></citerefentry>
72
 
    </refpurpose>
73
 
  </refnamediv>
74
 
 
75
 
  <refsynopsisdiv>
76
 
    <cmdsynopsis>
77
 
      <command>&COMMANDNAME;</command>
78
 
      <group choice="opt">
79
 
        <arg choice="plain"><option>--dir</option>
80
 
        <replaceable>directory</replaceable></arg>
81
 
      </group>
82
 
      <group choice="opt">
83
 
        <arg choice="plain"><option>--type</option>
84
 
        <replaceable>type</replaceable></arg>
85
 
      </group>
86
 
      <group choice="opt">
87
 
        <arg choice="plain"><option>--length</option>
88
 
        <replaceable>bits</replaceable></arg>
89
 
      </group>
90
 
      <group choice="opt">
91
 
        <arg choice="plain"><option>--subtype</option>
92
 
        <replaceable>type</replaceable></arg>
93
 
      </group>
94
 
      <group choice="opt">
95
 
        <arg choice="plain"><option>--sublength</option>
96
 
        <replaceable>bits</replaceable></arg>
97
 
      </group>
98
 
      <group choice="opt">
99
 
        <arg choice="plain"><option>--name</option>
100
 
        <replaceable>NAME</replaceable></arg>
101
 
      </group>
102
 
      <group choice="opt">
103
 
        <arg choice="plain"><option>--email</option>
104
 
        <replaceable>EMAIL</replaceable></arg>
105
 
      </group>
106
 
      <group choice="opt">
107
 
        <arg choice="plain"><option>--comment</option>
108
 
        <replaceable>COMMENT</replaceable></arg>
109
 
      </group>
110
 
      <group choice="opt">
111
 
        <arg choice="plain"><option>--expire</option>
112
 
        <replaceable>TIME</replaceable></arg>
113
 
      </group>
114
 
      <group choice="opt">
115
 
        <arg choice="plain"><option>--force</option></arg>
116
 
      </group>
117
 
    </cmdsynopsis>
118
 
    <cmdsynopsis>
119
 
      <command>&COMMANDNAME;</command>
120
 
      <group choice="opt">
121
 
        <arg choice="plain"><option>-d</option>
122
 
        <replaceable>directory</replaceable></arg>
123
 
      </group>
124
 
      <group choice="opt">
125
 
        <arg choice="plain"><option>-t</option>
126
 
        <replaceable>type</replaceable></arg>
127
 
      </group>
128
 
      <group choice="opt">
129
 
        <arg choice="plain"><option>-l</option>
130
 
        <replaceable>bits</replaceable></arg>
131
 
      </group>
132
 
      <group choice="opt">
133
 
        <arg choice="plain"><option>-s</option>
134
 
        <replaceable>type</replaceable></arg>
135
 
      </group>
136
 
      <group choice="opt">
137
 
        <arg choice="plain"><option>-L</option>
138
 
        <replaceable>bits</replaceable></arg>
139
 
      </group>
140
 
      <group choice="opt">
141
 
        <arg choice="plain"><option>-n</option>
142
 
        <replaceable>NAME</replaceable></arg>
143
 
      </group>
144
 
      <group choice="opt">
145
 
        <arg choice="plain"><option>-e</option>
146
 
        <replaceable>EMAIL</replaceable></arg>
147
 
      </group>
148
 
      <group choice="opt">
149
 
        <arg choice="plain"><option>-c</option>
150
 
        <replaceable>COMMENT</replaceable></arg>
151
 
      </group>
152
 
      <group choice="opt">
153
 
        <arg choice="plain"><option>-x</option>
154
 
        <replaceable>TIME</replaceable></arg>
155
 
      </group>
156
 
      <group choice="opt">
157
 
        <arg choice="plain"><option>-f</option></arg>
158
 
      </group>
159
 
    </cmdsynopsis>
160
 
    <cmdsynopsis>
161
 
      <command>&COMMANDNAME;</command>
162
 
      <group choice="req">
163
 
        <arg choice="plain"><option>-p</option></arg>
164
 
        <arg choice="plain"><option>--password</option></arg>
165
 
      </group>
166
 
      <group choice="opt">
167
 
        <arg choice="plain"><option>--dir</option>
168
 
        <replaceable>directory</replaceable></arg>
169
 
      </group>
170
 
      <group choice="opt">
171
 
        <arg choice="plain"><option>--name</option>
172
 
        <replaceable>NAME</replaceable></arg>
173
 
      </group>
174
 
    </cmdsynopsis>
175
 
    <cmdsynopsis>
176
 
      <command>&COMMANDNAME;</command>
177
 
      <group choice="req">
178
 
        <arg choice="plain"><option>-h</option></arg>
179
 
        <arg choice="plain"><option>--help</option></arg>
180
 
      </group>
181
 
    </cmdsynopsis>
182
 
    <cmdsynopsis>
183
 
      <command>&COMMANDNAME;</command>
184
 
      <group choice="req">
185
 
        <arg choice="plain"><option>-v</option></arg>
186
 
        <arg choice="plain"><option>--version</option></arg>
187
 
      </group>
188
 
    </cmdsynopsis>
189
 
  </refsynopsisdiv>
190
 
 
191
 
  <refsect1 id="description">
192
 
    <title>DESCRIPTION</title>
193
 
    <para>
194
 
      <command>&COMMANDNAME;</command> is a program to generate the
195
 
      OpenPGP keys used by
196
 
      <citerefentry><refentrytitle>password-request</refentrytitle>
197
 
      <manvolnum>8mandos</manvolnum></citerefentry>.  The keys are
198
 
      normally written to /etc/mandos for later installation into the
199
 
      initrd image, but this, like most things, can be changed with
200
 
      command line options.
201
 
    </para>
202
 
    <para>
203
 
      It can also be used to generate ready-made sections for
204
 
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
205
 
      <manvolnum>5</manvolnum></citerefentry> using the
206
 
      <option>--password</option> option.
207
 
    </para>
208
 
  </refsect1>
209
 
  
210
 
  <refsect1 id="purpose">
211
 
    <title>PURPOSE</title>
212
 
 
213
 
    <para>
214
 
      The purpose of this is to enable <emphasis>remote and unattended
215
 
      rebooting</emphasis> of client host computer with an
216
 
      <emphasis>encrypted root file system</emphasis>.  See <xref
217
 
      linkend="overview"/> for details.
218
 
    </para>
219
 
 
220
 
  </refsect1>
221
 
  
222
 
  <refsect1 id="options">
223
 
    <title>OPTIONS</title>
224
 
 
225
 
    <variablelist>
226
 
      <varlistentry>
227
 
        <term><literal>-h</literal>, <literal>--help</literal></term>
228
 
        <listitem>
229
 
          <para>
230
 
            Show a help message and exit
231
 
          </para>
232
 
        </listitem>
233
 
      </varlistentry>
234
 
 
235
 
      <varlistentry>
236
 
        <term><literal>-d</literal>, <literal>--dir
237
 
        <replaceable>directory</replaceable></literal></term>
238
 
        <listitem>
239
 
          <para>
240
 
            Target directory for key files.  Default is
241
 
            <filename>/etc/mandos</filename>.
242
 
          </para>
243
 
        </listitem>
244
 
      </varlistentry>
245
 
 
246
 
      <varlistentry>
247
 
        <term><literal>-t</literal>, <literal>--type
248
 
        <replaceable>type</replaceable></literal></term>
249
 
        <listitem>
250
 
          <para>
251
 
            Key type.  Default is <quote>DSA</quote>.
252
 
          </para>
253
 
        </listitem>
254
 
      </varlistentry>
255
 
 
256
 
      <varlistentry>
257
 
        <term><literal>-l</literal>, <literal>--length
258
 
        <replaceable>bits</replaceable></literal></term>
259
 
        <listitem>
260
 
          <para>
261
 
            Key length in bits.  Default is 2048.
262
 
          </para>
263
 
        </listitem>
264
 
      </varlistentry>
265
 
 
266
 
      <varlistentry>
267
 
        <term><literal>-s</literal>, <literal>--subtype
268
 
        <replaceable>type</replaceable></literal></term>
269
 
        <listitem>
270
 
          <para>
271
 
            Subkey type.  Default is <quote>ELG-E</quote> (Elgamal
272
 
            encryption-only).
273
 
          </para>
274
 
        </listitem>
275
 
      </varlistentry>
276
 
 
277
 
      <varlistentry>
278
 
        <term><literal>-L</literal>, <literal>--sublength
279
 
        <replaceable>bits</replaceable></literal></term>
280
 
        <listitem>
281
 
          <para>
282
 
            Subkey length in bits.  Default is 2048.
283
 
          </para>
284
 
        </listitem>
285
 
      </varlistentry>
286
 
 
287
 
      <varlistentry>
288
 
        <term><literal>-e</literal>, <literal>--email</literal>
289
 
        <replaceable>address</replaceable></term>
290
 
        <listitem>
291
 
          <para>
292
 
            Email address of key.  Default is empty.
293
 
          </para>
294
 
        </listitem>
295
 
      </varlistentry>
296
 
 
297
 
      <varlistentry>
298
 
        <term><literal>-c</literal>, <literal>--comment</literal>
299
 
        <replaceable>comment</replaceable></term>
300
 
        <listitem>
301
 
          <para>
302
 
            Comment field for key.  The default value is
303
 
            <quote><literal>Mandos client key</literal></quote>.
304
 
          </para>
305
 
        </listitem>
306
 
      </varlistentry>
307
 
 
308
 
      <varlistentry>
309
 
        <term><literal>-x</literal>, <literal>--expire</literal>
310
 
        <replaceable>time</replaceable></term>
311
 
        <listitem>
312
 
          <para>
313
 
            Key expire time.  Default is no expiration.  See
314
 
            <citerefentry><refentrytitle>gpg</refentrytitle>
315
 
            <manvolnum>1</manvolnum></citerefentry> for syntax.
316
 
          </para>
317
 
        </listitem>
318
 
      </varlistentry>
319
 
 
320
 
      <varlistentry>
321
 
        <term><literal>-f</literal>, <literal>--force</literal></term>
322
 
        <listitem>
323
 
          <para>
324
 
            Force overwriting old keys.
325
 
          </para>
326
 
        </listitem>
327
 
      </varlistentry>
328
 
      <varlistentry>
329
 
        <term><literal>-p</literal>, <literal>--password</literal
330
 
        ></term>
331
 
        <listitem>
332
 
          <para>
333
 
            Prompt for a password and encrypt it with the key already
334
 
            present in either <filename>/etc/mandos</filename> or the
335
 
            directory specified with the <option>--dir</option>
336
 
            option.  Outputs, on standard output, a section suitable
337
 
            for inclusion in <citerefentry><refentrytitle
338
 
            >mandos-clients.conf</refentrytitle><manvolnum
339
 
            >8</manvolnum></citerefentry>.  The host name or the name
340
 
            specified with the <option>--name</option> option is used
341
 
            for the section header.  All other options are ignored,
342
 
            and no keys are created.
343
 
          </para>
344
 
        </listitem>
345
 
      </varlistentry>
346
 
    </variablelist>
347
 
  </refsect1>
348
 
 
349
 
  <refsect1 id="overview">
350
 
    <title>OVERVIEW</title>
351
 
    <xi:include href="overview.xml"/>
352
 
    <para>
353
 
      This program is a small utility to generate new OpenPGP keys for
354
 
      new Mandos clients.
355
 
    </para>
356
 
  </refsect1>
357
 
 
358
 
  <refsect1 id="exit_status">
359
 
    <title>EXIT STATUS</title>
360
 
    <para>
361
 
      The exit status will be 0 if new keys were successfully created,
362
 
      otherwise not.
363
 
    </para>
364
 
  </refsect1>
365
 
  
366
 
  <refsect1 id="environment">
367
 
    <title>ENVIRONMENT</title>
368
 
    <variablelist>
369
 
      <varlistentry>
370
 
        <term><varname>TMPDIR</varname></term>
371
 
        <listitem>
372
 
          <para>
373
 
            If set, temporary files will be created here. See
374
 
            <citerefentry><refentrytitle>mktemp</refentrytitle>
375
 
            <manvolnum>1</manvolnum></citerefentry>.
376
 
          </para>
377
 
        </listitem>
378
 
      </varlistentry>
379
 
    </variablelist>
380
 
  </refsect1>
381
 
  
382
 
  <refsect1 id="file">
383
 
    <title>FILES</title>
384
 
    <para>
385
 
      Use the <option>--dir</option> option to change where
386
 
      <command>&COMMANDNAME;</command> will write the key files.  The
387
 
      default file names are shown here.
388
 
    </para>
389
 
    <variablelist>
390
 
      <varlistentry>
391
 
        <term><filename>/etc/mandos/seckey.txt</filename></term>
392
 
        <listitem>
393
 
          <para>
394
 
            OpenPGP secret key file which will be created or
395
 
            overwritten.
396
 
          </para>
397
 
        </listitem>
398
 
      </varlistentry>
399
 
      <varlistentry>
400
 
        <term><filename>/etc/mandos/pubkey.txt</filename></term>
401
 
        <listitem>
402
 
          <para>
403
 
            OpenPGP public key file which will be created or
404
 
            overwritten.
405
 
          </para>
406
 
        </listitem>
407
 
      </varlistentry>
408
 
      <varlistentry>
409
 
        <term><filename>/tmp</filename></term>
410
 
        <listitem>
411
 
          <para>
412
 
            Temporary files will be written here if
413
 
            <varname>TMPDIR</varname> is not set.
414
 
          </para>
415
 
        </listitem>
416
 
      </varlistentry>
417
 
    </variablelist>
418
 
  </refsect1>
419
 
 
420
 
  <refsect1 id="bugs">
421
 
    <title>BUGS</title>
422
 
    <para>
423
 
      None are known at this time.
424
 
    </para>
425
 
  </refsect1>
426
 
 
427
 
  <refsect1 id="example">
428
 
    <title>EXAMPLE</title>
429
 
    <informalexample>
430
 
      <para>
431
 
        Normal invocation needs no options:
432
 
      </para>
433
 
      <para>
434
 
        <userinput>mandos-keygen</userinput>
435
 
      </para>
436
 
    </informalexample>
437
 
    <informalexample>
438
 
      <para>
439
 
        Create keys in another directory and of another type.  Force
440
 
        overwriting old key files:
441
 
      </para>
442
 
      <para>
443
 
 
444
 
<!-- do not wrap this line -->
445
 
<userinput>mandos-keygen --dir ~/keydir --type RSA --force</userinput>
446
 
 
447
 
      </para>
448
 
    </informalexample>
449
 
  </refsect1>
450
 
 
451
 
  <refsect1 id="security">
452
 
    <title>SECURITY</title>
453
 
    <para>
454
 
      The <option>--type</option>, <option>--length</option>,
455
 
      <option>--subtype</option>, and <option>--sublength</option>
456
 
      options can be used to create keys of insufficient security.  If
457
 
      in doubt, leave them to the default values.
458
 
    </para>
459
 
    <para>
460
 
      The key expire time is not guaranteed to be honored by
461
 
      <citerefentry><refentrytitle>mandos</refentrytitle>
462
 
      <manvolnum>8</manvolnum></citerefentry>.
463
 
    </para>
464
 
  </refsect1>
465
 
 
466
 
  <refsect1 id="see_also">
467
 
    <title>SEE ALSO</title>
468
 
    <para>
469
 
      <citerefentry><refentrytitle>password-request</refentrytitle>
470
 
      <manvolnum>8mandos</manvolnum></citerefentry>,
471
 
      <citerefentry><refentrytitle>mandos</refentrytitle>
472
 
      <manvolnum>8</manvolnum></citerefentry>,
473
 
      <citerefentry><refentrytitle>gpg</refentrytitle>
474
 
      <manvolnum>1</manvolnum></citerefentry>
475
 
    </para>
476
 
  </refsect1>
477
 
  
478
 
</refentry>
479
 
<!-- Local Variables: -->
480
 
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
481
 
<!-- time-stamp-end: "[\"']>" -->
482
 
<!-- time-stamp-format: "%:y-%02m-%02d" -->
483
 
<!-- End: -->