/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: 2018-08-19 01:35:11 UTC
  • mto: (237.7.594 trunk)
  • mto: This revision was merged to the branch mainline in revision 368.
  • Revision ID: teddy@recompile.se-20180819013511-cku25q9yeub3dnr0
Adapt to changes in cryptsetup; use "cryptroot-unlock" program

* Makefile (install-client-nokey): Also install new script files
  "mandos-to-cryptroot-unlock" and "initramfs-tools-script-stop".
* debian/mandos-client.dirs: Add
  "usr/share/initramfs-tools/scripts/local-premount".
* initramfs-tools-hook: Also copy "mandos-to-cryptroot-unlock".
* initramfs-tools-script: Only modify keyscript setting in cryptroot
  file if the file exists, otherwise start
  "mandos-to-cryptroot-unlock" in background.
* initramfs-tools-script-stop: New script to make sure plugin-runner
  has stopped before continuing.
* mandos-to-cryptroot-unlock: New script to run plugin-runner and feed
  any password it gets into the "cryptroot-unlock" program.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<?xml version="1.0" encoding="UTF-8"?>
2
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4
 
<!ENTITY VERSION "1.0">
5
4
<!ENTITY COMMANDNAME "mandos-keygen">
6
 
<!ENTITY TIMESTAMP "2008-08-31">
 
5
<!ENTITY TIMESTAMP "2018-02-08">
 
6
<!ENTITY % common SYSTEM "common.ent">
 
7
%common;
7
8
]>
8
9
 
9
10
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
11
12
    <title>Mandos Manual</title>
12
13
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
13
14
    <productname>Mandos</productname>
14
 
    <productnumber>&VERSION;</productnumber>
 
15
    <productnumber>&version;</productnumber>
15
16
    <date>&TIMESTAMP;</date>
16
17
    <authorgroup>
17
18
      <author>
18
19
        <firstname>Björn</firstname>
19
20
        <surname>Påhlsson</surname>
20
21
        <address>
21
 
          <email>belorn@fukt.bsnet.se</email>
 
22
          <email>belorn@recompile.se</email>
22
23
        </address>
23
24
      </author>
24
25
      <author>
25
26
        <firstname>Teddy</firstname>
26
27
        <surname>Hogeborn</surname>
27
28
        <address>
28
 
          <email>teddy@fukt.bsnet.se</email>
 
29
          <email>teddy@recompile.se</email>
29
30
        </address>
30
31
      </author>
31
32
    </authorgroup>
32
33
    <copyright>
33
34
      <year>2008</year>
 
35
      <year>2009</year>
 
36
      <year>2010</year>
 
37
      <year>2011</year>
 
38
      <year>2012</year>
 
39
      <year>2013</year>
 
40
      <year>2014</year>
 
41
      <year>2015</year>
 
42
      <year>2016</year>
 
43
      <year>2017</year>
 
44
      <year>2018</year>
34
45
      <holder>Teddy Hogeborn</holder>
35
46
      <holder>Björn Påhlsson</holder>
36
47
    </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>
 
48
    <xi:include href="legalnotice.xml"/>
60
49
  </refentryinfo>
61
 
 
 
50
  
62
51
  <refmeta>
63
52
    <refentrytitle>&COMMANDNAME;</refentrytitle>
64
53
    <manvolnum>8</manvolnum>
67
56
  <refnamediv>
68
57
    <refname><command>&COMMANDNAME;</command></refname>
69
58
    <refpurpose>
70
 
      Generate keys for <citerefentry><refentrytitle>password-request
71
 
      </refentrytitle><manvolnum>8mandos</manvolnum></citerefentry>
 
59
      Generate key and password for Mandos client and server.
72
60
    </refpurpose>
73
61
  </refnamediv>
74
 
 
 
62
  
75
63
  <refsynopsisdiv>
76
64
    <cmdsynopsis>
77
65
      <command>&COMMANDNAME;</command>
138
126
        <replaceable>TIME</replaceable></option></arg>
139
127
      </group>
140
128
      <sbr/>
141
 
      <arg><option>--force</option></arg>
 
129
      <group>
 
130
        <arg choice="plain"><option>--force</option></arg>
 
131
        <arg choice="plain"><option>-f</option></arg>
 
132
      </group>
142
133
    </cmdsynopsis>
143
134
    <cmdsynopsis>
144
135
      <command>&COMMANDNAME;</command>
145
136
      <group choice="req">
146
137
        <arg choice="plain"><option>--password</option></arg>
147
138
        <arg choice="plain"><option>-p</option></arg>
 
139
        <arg choice="plain"><option>--passfile
 
140
        <replaceable>FILE</replaceable></option></arg>
 
141
        <arg choice="plain"><option>-F</option>
 
142
        <replaceable>FILE</replaceable></arg>
148
143
      </group>
149
144
      <sbr/>
150
145
      <group>
160
155
        <arg choice="plain"><option>-n
161
156
        <replaceable>NAME</replaceable></option></arg>
162
157
      </group>
 
158
      <group>
 
159
        <arg choice="plain"><option>--no-ssh</option></arg>
 
160
        <arg choice="plain"><option>-S</option></arg>
 
161
      </group>
163
162
    </cmdsynopsis>
164
163
    <cmdsynopsis>
165
164
      <command>&COMMANDNAME;</command>
176
175
      </group>
177
176
    </cmdsynopsis>
178
177
  </refsynopsisdiv>
179
 
 
 
178
  
180
179
  <refsect1 id="description">
181
180
    <title>DESCRIPTION</title>
182
181
    <para>
183
182
      <command>&COMMANDNAME;</command> is a program to generate the
184
 
      OpenPGP keys used by
185
 
      <citerefentry><refentrytitle>password-request</refentrytitle>
186
 
      <manvolnum>8mandos</manvolnum></citerefentry>.  The keys are
 
183
      OpenPGP key used by
 
184
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
 
185
      <manvolnum>8mandos</manvolnum></citerefentry>.  The key is
187
186
      normally written to /etc/mandos for later installation into the
188
 
      initrd image, but this, like most things, can be changed with
189
 
      command line options.
 
187
      initrd image, but this, and most other things, can be changed
 
188
      with command line options.
190
189
    </para>
191
190
    <para>
192
 
      It can also be used to generate ready-made sections for
 
191
      This program can also be used with the
 
192
      <option>--password</option> or <option>--passfile</option>
 
193
      options to generate a ready-made section for
 
194
      <filename>clients.conf</filename> (see
193
195
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
194
 
      <manvolnum>5</manvolnum></citerefentry> using the
195
 
      <option>--password</option> option.
 
196
      <manvolnum>5</manvolnum></citerefentry>).
196
197
    </para>
197
198
  </refsect1>
198
199
  
199
200
  <refsect1 id="purpose">
200
201
    <title>PURPOSE</title>
201
 
 
202
202
    <para>
203
203
      The purpose of this is to enable <emphasis>remote and unattended
204
204
      rebooting</emphasis> of client host computer with an
205
205
      <emphasis>encrypted root file system</emphasis>.  See <xref
206
206
      linkend="overview"/> for details.
207
207
    </para>
208
 
 
209
208
  </refsect1>
210
209
  
211
210
  <refsect1 id="options">
212
211
    <title>OPTIONS</title>
213
 
 
 
212
    
214
213
    <variablelist>
215
214
      <varlistentry>
216
 
        <term><literal>-h</literal>, <literal>--help</literal></term>
 
215
        <term><option>--help</option></term>
 
216
        <term><option>-h</option></term>
217
217
        <listitem>
218
218
          <para>
219
219
            Show a help message and exit
220
220
          </para>
221
221
        </listitem>
222
222
      </varlistentry>
223
 
 
 
223
      
224
224
      <varlistentry>
225
 
        <term><literal>-d</literal>, <literal>--dir
226
 
        <replaceable>directory</replaceable></literal></term>
 
225
        <term><option>--dir
 
226
        <replaceable>DIRECTORY</replaceable></option></term>
 
227
        <term><option>-d
 
228
        <replaceable>DIRECTORY</replaceable></option></term>
227
229
        <listitem>
228
230
          <para>
229
231
            Target directory for key files.  Default is
230
 
            <filename>/etc/mandos</filename>.
231
 
          </para>
232
 
        </listitem>
233
 
      </varlistentry>
234
 
 
235
 
      <varlistentry>
236
 
        <term><literal>-t</literal>, <literal>--type
237
 
        <replaceable>type</replaceable></literal></term>
238
 
        <listitem>
239
 
          <para>
240
 
            Key type.  Default is <quote>DSA</quote>.
241
 
          </para>
242
 
        </listitem>
243
 
      </varlistentry>
244
 
 
245
 
      <varlistentry>
246
 
        <term><literal>-l</literal>, <literal>--length
247
 
        <replaceable>bits</replaceable></literal></term>
248
 
        <listitem>
249
 
          <para>
250
 
            Key length in bits.  Default is 2048.
251
 
          </para>
252
 
        </listitem>
253
 
      </varlistentry>
254
 
 
255
 
      <varlistentry>
256
 
        <term><literal>-s</literal>, <literal>--subtype
257
 
        <replaceable>type</replaceable></literal></term>
258
 
        <listitem>
259
 
          <para>
260
 
            Subkey type.  Default is <quote>ELG-E</quote> (Elgamal
 
232
            <filename class="directory">/etc/mandos</filename>.
 
233
          </para>
 
234
        </listitem>
 
235
      </varlistentry>
 
236
      
 
237
      <varlistentry>
 
238
        <term><option>--type
 
239
        <replaceable>TYPE</replaceable></option></term>
 
240
        <term><option>-t
 
241
        <replaceable>TYPE</replaceable></option></term>
 
242
        <listitem>
 
243
          <para>
 
244
            Key type.  Default is <quote>RSA</quote>.
 
245
          </para>
 
246
        </listitem>
 
247
      </varlistentry>
 
248
      
 
249
      <varlistentry>
 
250
        <term><option>--length
 
251
        <replaceable>BITS</replaceable></option></term>
 
252
        <term><option>-l
 
253
        <replaceable>BITS</replaceable></option></term>
 
254
        <listitem>
 
255
          <para>
 
256
            Key length in bits.  Default is 4096.
 
257
          </para>
 
258
        </listitem>
 
259
      </varlistentry>
 
260
      
 
261
      <varlistentry>
 
262
        <term><option>--subtype
 
263
        <replaceable>KEYTYPE</replaceable></option></term>
 
264
        <term><option>-s
 
265
        <replaceable>KEYTYPE</replaceable></option></term>
 
266
        <listitem>
 
267
          <para>
 
268
            Subkey type.  Default is <quote>RSA</quote> (Elgamal
261
269
            encryption-only).
262
270
          </para>
263
271
        </listitem>
264
272
      </varlistentry>
265
 
 
 
273
      
266
274
      <varlistentry>
267
 
        <term><literal>-L</literal>, <literal>--sublength
268
 
        <replaceable>bits</replaceable></literal></term>
 
275
        <term><option>--sublength
 
276
        <replaceable>BITS</replaceable></option></term>
 
277
        <term><option>-L
 
278
        <replaceable>BITS</replaceable></option></term>
269
279
        <listitem>
270
280
          <para>
271
 
            Subkey length in bits.  Default is 2048.
 
281
            Subkey length in bits.  Default is 4096.
272
282
          </para>
273
283
        </listitem>
274
284
      </varlistentry>
275
 
 
 
285
      
276
286
      <varlistentry>
277
 
        <term><literal>-e</literal>, <literal>--email</literal>
278
 
        <replaceable>address</replaceable></term>
 
287
        <term><option>--email
 
288
        <replaceable>ADDRESS</replaceable></option></term>
 
289
        <term><option>-e
 
290
        <replaceable>ADDRESS</replaceable></option></term>
279
291
        <listitem>
280
292
          <para>
281
293
            Email address of key.  Default is empty.
282
294
          </para>
283
295
        </listitem>
284
296
      </varlistentry>
285
 
 
 
297
      
286
298
      <varlistentry>
287
 
        <term><literal>-c</literal>, <literal>--comment</literal>
288
 
        <replaceable>comment</replaceable></term>
 
299
        <term><option>--comment
 
300
        <replaceable>TEXT</replaceable></option></term>
 
301
        <term><option>-c
 
302
        <replaceable>TEXT</replaceable></option></term>
289
303
        <listitem>
290
304
          <para>
291
 
            Comment field for key.  The default value is
292
 
            <quote><literal>Mandos client key</literal></quote>.
 
305
            Comment field for key.  Default is empty.
293
306
          </para>
294
307
        </listitem>
295
308
      </varlistentry>
296
 
 
 
309
      
297
310
      <varlistentry>
298
 
        <term><literal>-x</literal>, <literal>--expire</literal>
299
 
        <replaceable>time</replaceable></term>
 
311
        <term><option>--expire
 
312
        <replaceable>TIME</replaceable></option></term>
 
313
        <term><option>-x
 
314
        <replaceable>TIME</replaceable></option></term>
300
315
        <listitem>
301
316
          <para>
302
317
            Key expire time.  Default is no expiration.  See
305
320
          </para>
306
321
        </listitem>
307
322
      </varlistentry>
308
 
 
 
323
      
309
324
      <varlistentry>
310
 
        <term><literal>-f</literal>, <literal>--force</literal></term>
 
325
        <term><option>--force</option></term>
 
326
        <term><option>-f</option></term>
311
327
        <listitem>
312
328
          <para>
313
 
            Force overwriting old keys.
 
329
            Force overwriting old key.
314
330
          </para>
315
331
        </listitem>
316
332
      </varlistentry>
317
333
      <varlistentry>
318
 
        <term><literal>-p</literal>, <literal>--password</literal
319
 
        ></term>
 
334
        <term><option>--password</option></term>
 
335
        <term><option>-p</option></term>
320
336
        <listitem>
321
337
          <para>
322
338
            Prompt for a password and encrypt it with the key already
328
344
            >8</manvolnum></citerefentry>.  The host name or the name
329
345
            specified with the <option>--name</option> option is used
330
346
            for the section header.  All other options are ignored,
331
 
            and no keys are created.
 
347
            and no key is created.
 
348
          </para>
 
349
        </listitem>
 
350
      </varlistentry>
 
351
      <varlistentry>
 
352
        <term><option>--passfile
 
353
        <replaceable>FILE</replaceable></option></term>
 
354
        <term><option>-F
 
355
        <replaceable>FILE</replaceable></option></term>
 
356
        <listitem>
 
357
          <para>
 
358
            The same as <option>--password</option>, but read from
 
359
            <replaceable>FILE</replaceable>, not the terminal.
 
360
          </para>
 
361
        </listitem>
 
362
      </varlistentry>
 
363
      <varlistentry>
 
364
        <term><option>--no-ssh</option></term>
 
365
        <term><option>-S</option></term>
 
366
        <listitem>
 
367
          <para>
 
368
            When <option>--password</option> or
 
369
            <option>--passfile</option> is given, this option will
 
370
            prevent <command>&COMMANDNAME;</command> from calling
 
371
            <command>ssh-keyscan</command> to get an SSH fingerprint
 
372
            for this host and, if successful, output suitable config
 
373
            options to use this fingerprint as a
 
374
            <option>checker</option> option in the output.  This is
 
375
            otherwise the default behavior.
332
376
          </para>
333
377
        </listitem>
334
378
      </varlistentry>
335
379
    </variablelist>
336
380
  </refsect1>
337
 
 
 
381
  
338
382
  <refsect1 id="overview">
339
383
    <title>OVERVIEW</title>
340
384
    <xi:include href="overview.xml"/>
341
385
    <para>
342
386
      This program is a small utility to generate new OpenPGP keys for
343
 
      new Mandos clients.
 
387
      new Mandos clients, and to generate sections for inclusion in
 
388
      <filename>clients.conf</filename> on the server.
344
389
    </para>
345
390
  </refsect1>
346
 
 
 
391
  
347
392
  <refsect1 id="exit_status">
348
393
    <title>EXIT STATUS</title>
349
394
    <para>
350
 
      The exit status will be 0 if new keys were successfully created,
351
 
      otherwise not.
 
395
      The exit status will be 0 if a new key (or password, if the
 
396
      <option>--password</option> option was used) was successfully
 
397
      created, otherwise not.
352
398
    </para>
353
399
  </refsect1>
354
400
  
368
414
    </variablelist>
369
415
  </refsect1>
370
416
  
371
 
  <refsect1 id="file">
 
417
  <refsect1 id="files">
372
418
    <title>FILES</title>
373
419
    <para>
374
420
      Use the <option>--dir</option> option to change where
395
441
        </listitem>
396
442
      </varlistentry>
397
443
      <varlistentry>
398
 
        <term><filename>/tmp</filename></term>
 
444
        <term><filename class="directory">/tmp</filename></term>
399
445
        <listitem>
400
446
          <para>
401
447
            Temporary files will be written here if
405
451
      </varlistentry>
406
452
    </variablelist>
407
453
  </refsect1>
408
 
 
 
454
  
409
455
  <refsect1 id="bugs">
410
456
    <title>BUGS</title>
411
 
    <para>
412
 
      None are known at this time.
413
 
    </para>
 
457
    <xi:include href="bugs.xml"/>
414
458
  </refsect1>
415
 
 
 
459
  
416
460
  <refsect1 id="example">
417
461
    <title>EXAMPLE</title>
418
462
    <informalexample>
425
469
    </informalexample>
426
470
    <informalexample>
427
471
      <para>
428
 
        Create keys in another directory and of another type.  Force
 
472
        Create key in another directory and of another type.  Force
429
473
        overwriting old key files:
430
474
      </para>
431
475
      <para>
435
479
 
436
480
      </para>
437
481
    </informalexample>
 
482
    <informalexample>
 
483
      <para>
 
484
        Prompt for a password, encrypt it with the key in <filename
 
485
        class="directory">/etc/mandos</filename> and output a section
 
486
        suitable for <filename>clients.conf</filename>.
 
487
      </para>
 
488
      <para>
 
489
        <userinput>&COMMANDNAME; --password</userinput>
 
490
      </para>
 
491
    </informalexample>
 
492
    <informalexample>
 
493
      <para>
 
494
        Prompt for a password, encrypt it with the key in the
 
495
        <filename>client-key</filename> directory and output a section
 
496
        suitable for <filename>clients.conf</filename>.
 
497
      </para>
 
498
      <para>
 
499
 
 
500
<!-- do not wrap this line -->
 
501
<userinput>&COMMANDNAME; --password --dir client-key</userinput>
 
502
 
 
503
      </para>
 
504
    </informalexample>
438
505
  </refsect1>
439
 
 
 
506
  
440
507
  <refsect1 id="security">
441
508
    <title>SECURITY</title>
442
509
    <para>
443
510
      The <option>--type</option>, <option>--length</option>,
444
511
      <option>--subtype</option>, and <option>--sublength</option>
445
 
      options can be used to create keys of insufficient security.  If
446
 
      in doubt, leave them to the default values.
 
512
      options can be used to create keys of low security.  If in
 
513
      doubt, leave them to the default values.
447
514
    </para>
448
515
    <para>
449
 
      The key expire time is not guaranteed to be honored by
450
 
      <citerefentry><refentrytitle>mandos</refentrytitle>
 
516
      The key expire time is <emphasis>not</emphasis> guaranteed to be
 
517
      honored by <citerefentry><refentrytitle>mandos</refentrytitle>
451
518
      <manvolnum>8</manvolnum></citerefentry>.
452
519
    </para>
453
520
  </refsect1>
454
 
 
 
521
  
455
522
  <refsect1 id="see_also">
456
523
    <title>SEE ALSO</title>
457
524
    <para>
 
525
      <citerefentry><refentrytitle>intro</refentrytitle>
 
526
      <manvolnum>8mandos</manvolnum></citerefentry>,
458
527
      <citerefentry><refentrytitle>gpg</refentrytitle>
459
528
      <manvolnum>1</manvolnum></citerefentry>,
 
529
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
 
530
      <manvolnum>5</manvolnum></citerefentry>,
460
531
      <citerefentry><refentrytitle>mandos</refentrytitle>
461
532
      <manvolnum>8</manvolnum></citerefentry>,
462
 
      <citerefentry><refentrytitle>password-request</refentrytitle>
463
 
      <manvolnum>8mandos</manvolnum></citerefentry>
 
533
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
 
534
      <manvolnum>8mandos</manvolnum></citerefentry>,
 
535
      <citerefentry><refentrytitle>ssh-keyscan</refentrytitle>
 
536
      <manvolnum>1</manvolnum></citerefentry>
464
537
    </para>
465
538
  </refsect1>
466
539