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">
4
5
<!ENTITY COMMANDNAME "mandos-keygen">
5
<!ENTITY TIMESTAMP "2011-10-03">
6
<!ENTITY % common SYSTEM "common.ent">
10
8
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
12
<title>Mandos Manual</title>
10
<title>&COMMANDNAME;</title>
13
11
<!-- NWalsh’s docbook scripts use this to generate the footer: -->
14
<productname>Mandos</productname>
15
<productnumber>&version;</productnumber>
16
<date>&TIMESTAMP;</date>
12
<productname>&COMMANDNAME;</productname>
13
<productnumber>&VERSION;</productnumber>
19
16
<firstname>Björn</firstname>
20
17
<surname>Påhlsson</surname>
22
<email>belorn@recompile.se</email>
19
<email>belorn@fukt.bsnet.se</email>
26
23
<firstname>Teddy</firstname>
27
24
<surname>Hogeborn</surname>
29
<email>teddy@recompile.se</email>
26
<email>teddy@fukt.bsnet.se</email>
37
32
<holder>Teddy Hogeborn</holder>
38
33
<holder>Björn Påhlsson</holder>
40
<xi:include href="legalnotice.xml"/>
37
This manual page is free software: you can redistribute it
38
and/or modify it under the terms of the GNU General Public
39
License as published by the Free Software Foundation,
40
either version 3 of the License, or (at your option) any
45
This manual page is distributed in the hope that it will
46
be useful, but WITHOUT ANY WARRANTY; without even the
47
implied warranty of MERCHANTABILITY or FITNESS FOR A
48
PARTICULAR PURPOSE. See the GNU General Public License
53
You should have received a copy of the GNU General Public
54
License along with this program; If not, see
55
<ulink url="http://www.gnu.org/licenses/"/>.
44
61
<refentrytitle>&COMMANDNAME;</refentrytitle>
45
62
<manvolnum>8</manvolnum>
49
66
<refname><command>&COMMANDNAME;</command></refname>
51
Generate key and password for Mandos client and server.
68
Generate keys for <citerefentry><refentrytitle>password-request
69
</refentrytitle><manvolnum>8mandos</manvolnum></citerefentry>
57
75
<command>&COMMANDNAME;</command>
59
<arg choice="plain"><option>--dir
60
<replaceable>DIRECTORY</replaceable></option></arg>
61
<arg choice="plain"><option>-d
62
<replaceable>DIRECTORY</replaceable></option></arg>
66
<arg choice="plain"><option>--type
67
<replaceable>KEYTYPE</replaceable></option></arg>
68
<arg choice="plain"><option>-t
69
<replaceable>KEYTYPE</replaceable></option></arg>
73
<arg choice="plain"><option>--length
74
<replaceable>BITS</replaceable></option></arg>
75
<arg choice="plain"><option>-l
76
<replaceable>BITS</replaceable></option></arg>
80
<arg choice="plain"><option>--subtype
81
<replaceable>KEYTYPE</replaceable></option></arg>
82
<arg choice="plain"><option>-s
83
<replaceable>KEYTYPE</replaceable></option></arg>
87
<arg choice="plain"><option>--sublength
88
<replaceable>BITS</replaceable></option></arg>
89
<arg choice="plain"><option>-L
90
<replaceable>BITS</replaceable></option></arg>
94
<arg choice="plain"><option>--name
95
<replaceable>NAME</replaceable></option></arg>
96
<arg choice="plain"><option>-n
97
<replaceable>NAME</replaceable></option></arg>
101
<arg choice="plain"><option>--email
102
<replaceable>ADDRESS</replaceable></option></arg>
103
<arg choice="plain"><option>-e
104
<replaceable>ADDRESS</replaceable></option></arg>
108
<arg choice="plain"><option>--comment
109
<replaceable>TEXT</replaceable></option></arg>
110
<arg choice="plain"><option>-c
111
<replaceable>TEXT</replaceable></option></arg>
115
<arg choice="plain"><option>--expire
116
<replaceable>TIME</replaceable></option></arg>
117
<arg choice="plain"><option>-x
118
<replaceable>TIME</replaceable></option></arg>
121
<arg><option>--force</option></arg>
124
<command>&COMMANDNAME;</command>
126
<arg choice="plain"><option>--password</option></arg>
127
<arg choice="plain"><option>-p</option></arg>
128
<arg choice="plain"><option>--passfile
129
<replaceable>FILE</replaceable></option></arg>
130
<arg choice="plain"><option>-F</option>
131
<replaceable>FILE</replaceable></arg>
135
<arg choice="plain"><option>--dir
136
<replaceable>DIRECTORY</replaceable></option></arg>
137
<arg choice="plain"><option>-d
138
<replaceable>DIRECTORY</replaceable></option></arg>
142
<arg choice="plain"><option>--name
143
<replaceable>NAME</replaceable></option></arg>
144
<arg choice="plain"><option>-n
145
<replaceable>NAME</replaceable></option></arg>
149
<command>&COMMANDNAME;</command>
77
<arg choice="plain"><option>--dir</option>
78
<replaceable>directory</replaceable></arg>
81
<arg choice="plain"><option>--type</option>
82
<replaceable>type</replaceable></arg>
85
<arg choice="plain"><option>--length</option>
86
<replaceable>bits</replaceable></arg>
89
<arg choice="plain"><option>--subtype</option>
90
<replaceable>type</replaceable></arg>
93
<arg choice="plain"><option>--sublength</option>
94
<replaceable>bits</replaceable></arg>
97
<arg choice="plain"><option>--name</option>
98
<replaceable>NAME</replaceable></arg>
101
<arg choice="plain"><option>--email</option>
102
<replaceable>EMAIL</replaceable></arg>
105
<arg choice="plain"><option>--comment</option>
106
<replaceable>COMMENT</replaceable></arg>
109
<arg choice="plain"><option>--expire</option>
110
<replaceable>TIME</replaceable></arg>
113
<arg choice="plain"><option>--force</option></arg>
117
<command>&COMMANDNAME;</command>
119
<arg choice="plain"><option>-d</option>
120
<replaceable>directory</replaceable></arg>
123
<arg choice="plain"><option>-t</option>
124
<replaceable>type</replaceable></arg>
127
<arg choice="plain"><option>-l</option>
128
<replaceable>bits</replaceable></arg>
131
<arg choice="plain"><option>-s</option>
132
<replaceable>type</replaceable></arg>
135
<arg choice="plain"><option>-L</option>
136
<replaceable>bits</replaceable></arg>
139
<arg choice="plain"><option>-n</option>
140
<replaceable>NAME</replaceable></arg>
143
<arg choice="plain"><option>-e</option>
144
<replaceable>EMAIL</replaceable></arg>
147
<arg choice="plain"><option>-c</option>
148
<replaceable>COMMENT</replaceable></arg>
151
<arg choice="plain"><option>-x</option>
152
<replaceable>TIME</replaceable></arg>
155
<arg choice="plain"><option>-f</option></arg>
159
<command>&COMMANDNAME;</command>
161
<arg choice="plain"><option>-h</option></arg>
151
162
<arg choice="plain"><option>--help</option></arg>
152
<arg choice="plain"><option>-h</option></arg>
156
166
<command>&COMMANDNAME;</command>
157
167
<group choice="req">
168
<arg choice="plain"><option>-v</option></arg>
158
169
<arg choice="plain"><option>--version</option></arg>
159
<arg choice="plain"><option>-v</option></arg>
162
172
</refsynopsisdiv>
164
174
<refsect1 id="description">
165
175
<title>DESCRIPTION</title>
167
177
<command>&COMMANDNAME;</command> is a program to generate the
169
<citerefentry><refentrytitle>mandos-client</refentrytitle>
170
<manvolnum>8mandos</manvolnum></citerefentry>. The key is
179
<citerefentry><refentrytitle>password-request</refentrytitle>
180
<manvolnum>8mandos</manvolnum></citerefentry>. The keys are
171
181
normally written to /etc/mandos for later installation into the
172
initrd image, but this, and most other things, can be changed
173
with command line options.
176
This program can also be used with the
177
<option>--password</option> or <option>--passfile</option>
178
options to generate a ready-made section for
179
<filename>clients.conf</filename> (see
180
<citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
181
<manvolnum>5</manvolnum></citerefentry>).
182
initrd image, but this, like most things, can be changed with
183
command line options.
185
187
<refsect1 id="purpose">
186
188
<title>PURPOSE</title>
188
191
The purpose of this is to enable <emphasis>remote and unattended
189
192
rebooting</emphasis> of client host computer with an
190
193
<emphasis>encrypted root file system</emphasis>. See <xref
191
194
linkend="overview"/> for details.
195
199
<refsect1 id="options">
196
200
<title>OPTIONS</title>
200
<term><option>--help</option></term>
201
<term><option>-h</option></term>
204
<term><literal>-h</literal>, <literal>--help</literal></term>
204
207
Show a help message and exit
211
<replaceable>DIRECTORY</replaceable></option></term>
213
<replaceable>DIRECTORY</replaceable></option></term>
213
<term><literal>-d</literal>, <literal>--dir
214
<replaceable>directory</replaceable></literal></term>
216
Target directory for key files. Default is
217
<filename>/etc/mandos</filename>.
217
Target directory for key files.
224
<replaceable>TYPE</replaceable></option></term>
226
<replaceable>TYPE</replaceable></option></term>
223
<term><literal>-t</literal>, <literal>--type
224
<replaceable>type</replaceable></literal></term>
229
227
Key type. Default is <quote>DSA</quote>.
235
<term><option>--length
236
<replaceable>BITS</replaceable></option></term>
238
<replaceable>BITS</replaceable></option></term>
233
<term><literal>-l</literal>, <literal>--length
234
<replaceable>bits</replaceable></literal></term>
241
Key length in bits. Default is 2048.
237
Key length in bits. Default is 1024.
247
<term><option>--subtype
248
<replaceable>KEYTYPE</replaceable></option></term>
250
<replaceable>KEYTYPE</replaceable></option></term>
243
<term><literal>-s</literal>, <literal>--subtype
244
<replaceable>type</replaceable></literal></term>
253
247
Subkey type. Default is <quote>ELG-E</quote> (Elgamal
311
<term><option>--force</option></term>
312
<term><option>-f</option></term>
315
Force overwriting old key.
320
<term><option>--password</option></term>
321
<term><option>-p</option></term>
324
Prompt for a password and encrypt it with the key already
325
present in either <filename>/etc/mandos</filename> or the
326
directory specified with the <option>--dir</option>
327
option. Outputs, on standard output, a section suitable
328
for inclusion in <citerefentry><refentrytitle
329
>mandos-clients.conf</refentrytitle><manvolnum
330
>8</manvolnum></citerefentry>. The host name or the name
331
specified with the <option>--name</option> option is used
332
for the section header. All other options are ignored,
333
and no key is created.
338
<term><option>--passfile
339
<replaceable>FILE</replaceable></option></term>
341
<replaceable>FILE</replaceable></option></term>
344
The same as <option>--password</option>, but read from
345
<replaceable>FILE</replaceable>, not the terminal.
297
<term><literal>-f</literal>, <literal>--force</literal></term>
300
Force overwriting old keys.
352
307
<refsect1 id="overview">
353
308
<title>OVERVIEW</title>
354
309
<xi:include href="overview.xml"/>
356
311
This program is a small utility to generate new OpenPGP keys for
357
new Mandos clients, and to generate sections for inclusion in
358
<filename>clients.conf</filename> on the server.
362
316
<refsect1 id="exit_status">
363
317
<title>EXIT STATUS</title>
365
The exit status will be 0 if a new key (or password, if the
366
<option>--password</option> option was used) was successfully
367
created, otherwise not.
319
The exit status will be 0 if new keys were successfully created,
435
389
Normal invocation needs no options:
438
<userinput>&COMMANDNAME;</userinput>
392
<userinput>mandos-keygen</userinput>
440
394
</informalexample>
441
395
<informalexample>
443
Create key in another directory and of another type. Force
397
Create keys in another directory and of another type. Force
444
398
overwriting old key files:
448
402
<!-- do not wrap this line -->
449
<userinput>&COMMANDNAME; --dir ~/keydir --type RSA --force</userinput>
455
Prompt for a password, encrypt it with the key in
456
<filename>/etc/mandos</filename> and output a section suitable
457
for <filename>clients.conf</filename>.
460
<userinput>&COMMANDNAME; --password</userinput>
465
Prompt for a password, encrypt it with the key in the
466
<filename>client-key</filename> directory and output a section
467
suitable for <filename>clients.conf</filename>.
471
<!-- do not wrap this line -->
472
<userinput>&COMMANDNAME; --password --dir client-key</userinput>
403
<userinput>mandos-keygen --dir ~/keydir --type RSA --force</userinput>
475
406
</informalexample>
478
409
<refsect1 id="security">
479
410
<title>SECURITY</title>
481
412
The <option>--type</option>, <option>--length</option>,
482
413
<option>--subtype</option>, and <option>--sublength</option>
483
options can be used to create keys of low security. If in
484
doubt, leave them to the default values.
414
options can be used to create keys of insufficient security. If
415
in doubt, leave them to the default values.
487
The key expire time is <emphasis>not</emphasis> guaranteed to be
488
honored by <citerefentry><refentrytitle>mandos</refentrytitle>
418
The key expire time is not guaranteed to be honored by
419
<citerefentry><refentrytitle>mandos</refentrytitle>
489
420
<manvolnum>8</manvolnum></citerefentry>.
493
424
<refsect1 id="see_also">
494
425
<title>SEE ALSO</title>
496
<citerefentry><refentrytitle>intro</refentrytitle>
427
<citerefentry><refentrytitle>password-request</refentrytitle>
497
428
<manvolnum>8mandos</manvolnum></citerefentry>,
429
<citerefentry><refentrytitle>mandos</refentrytitle>
430
<manvolnum>8</manvolnum></citerefentry>,
498
431
<citerefentry><refentrytitle>gpg</refentrytitle>
499
<manvolnum>1</manvolnum></citerefentry>,
500
<citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
501
<manvolnum>5</manvolnum></citerefentry>,
502
<citerefentry><refentrytitle>mandos</refentrytitle>
503
<manvolnum>8</manvolnum></citerefentry>,
504
<citerefentry><refentrytitle>mandos-client</refentrytitle>
505
<manvolnum>8mandos</manvolnum></citerefentry>
432
<manvolnum>1</manvolnum></citerefentry>
510
<!-- Local Variables: -->
511
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
512
<!-- time-stamp-end: "[\"']>" -->
513
<!-- time-stamp-format: "%:y-%02m-%02d" -->