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 "2017-02-23">
6
<!ENTITY % common SYSTEM "common.ent">
6
<!ENTITY TIMESTAMP "2008-08-29">
10
9
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
12
<title>Mandos Manual</title>
11
<title>&COMMANDNAME;</title>
13
12
<!-- NWalsh’s docbook scripts use this to generate the footer: -->
14
<productname>Mandos</productname>
15
<productnumber>&version;</productnumber>
13
<productname>&COMMANDNAME;</productname>
14
<productnumber>&VERSION;</productnumber>
16
15
<date>&TIMESTAMP;</date>
19
18
<firstname>Björn</firstname>
20
19
<surname>Påhlsson</surname>
22
<email>belorn@recompile.se</email>
21
<email>belorn@fukt.bsnet.se</email>
26
25
<firstname>Teddy</firstname>
27
26
<surname>Hogeborn</surname>
29
<email>teddy@recompile.se</email>
28
<email>teddy@fukt.bsnet.se</email>
44
34
<holder>Teddy Hogeborn</holder>
45
35
<holder>Björn Påhlsson</holder>
47
<xi:include href="legalnotice.xml"/>
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
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
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/"/>.
51
63
<refentrytitle>&COMMANDNAME;</refentrytitle>
52
64
<manvolnum>8</manvolnum>
56
68
<refname><command>&COMMANDNAME;</command></refname>
58
Generate key and password for Mandos client and server.
70
Generate keys for <citerefentry><refentrytitle>password-request
71
</refentrytitle><manvolnum>8mandos</manvolnum></citerefentry>
64
77
<command>&COMMANDNAME;</command>
66
<arg choice="plain"><option>--dir
67
<replaceable>DIRECTORY</replaceable></option></arg>
68
<arg choice="plain"><option>-d
69
<replaceable>DIRECTORY</replaceable></option></arg>
73
<arg choice="plain"><option>--type
74
<replaceable>KEYTYPE</replaceable></option></arg>
75
<arg choice="plain"><option>-t
76
<replaceable>KEYTYPE</replaceable></option></arg>
80
<arg choice="plain"><option>--length
81
<replaceable>BITS</replaceable></option></arg>
82
<arg choice="plain"><option>-l
83
<replaceable>BITS</replaceable></option></arg>
87
<arg choice="plain"><option>--subtype
88
<replaceable>KEYTYPE</replaceable></option></arg>
89
<arg choice="plain"><option>-s
90
<replaceable>KEYTYPE</replaceable></option></arg>
94
<arg choice="plain"><option>--sublength
95
<replaceable>BITS</replaceable></option></arg>
96
<arg choice="plain"><option>-L
97
<replaceable>BITS</replaceable></option></arg>
101
<arg choice="plain"><option>--name
102
<replaceable>NAME</replaceable></option></arg>
103
<arg choice="plain"><option>-n
104
<replaceable>NAME</replaceable></option></arg>
108
<arg choice="plain"><option>--email
109
<replaceable>ADDRESS</replaceable></option></arg>
110
<arg choice="plain"><option>-e
111
<replaceable>ADDRESS</replaceable></option></arg>
115
<arg choice="plain"><option>--comment
116
<replaceable>TEXT</replaceable></option></arg>
117
<arg choice="plain"><option>-c
118
<replaceable>TEXT</replaceable></option></arg>
122
<arg choice="plain"><option>--expire
123
<replaceable>TIME</replaceable></option></arg>
124
<arg choice="plain"><option>-x
125
<replaceable>TIME</replaceable></option></arg>
79
<arg choice="plain"><option>--dir</option>
80
<replaceable>directory</replaceable></arg>
83
<arg choice="plain"><option>--type</option>
84
<replaceable>type</replaceable></arg>
87
<arg choice="plain"><option>--length</option>
88
<replaceable>bits</replaceable></arg>
91
<arg choice="plain"><option>--subtype</option>
92
<replaceable>type</replaceable></arg>
95
<arg choice="plain"><option>--sublength</option>
96
<replaceable>bits</replaceable></arg>
99
<arg choice="plain"><option>--name</option>
100
<replaceable>NAME</replaceable></arg>
103
<arg choice="plain"><option>--email</option>
104
<replaceable>EMAIL</replaceable></arg>
107
<arg choice="plain"><option>--comment</option>
108
<replaceable>COMMENT</replaceable></arg>
111
<arg choice="plain"><option>--expire</option>
112
<replaceable>TIME</replaceable></arg>
129
115
<arg choice="plain"><option>--force</option></arg>
119
<command>&COMMANDNAME;</command>
121
<arg choice="plain"><option>-d</option>
122
<replaceable>directory</replaceable></arg>
125
<arg choice="plain"><option>-t</option>
126
<replaceable>type</replaceable></arg>
129
<arg choice="plain"><option>-l</option>
130
<replaceable>bits</replaceable></arg>
133
<arg choice="plain"><option>-s</option>
134
<replaceable>type</replaceable></arg>
137
<arg choice="plain"><option>-L</option>
138
<replaceable>bits</replaceable></arg>
141
<arg choice="plain"><option>-n</option>
142
<replaceable>NAME</replaceable></arg>
145
<arg choice="plain"><option>-e</option>
146
<replaceable>EMAIL</replaceable></arg>
149
<arg choice="plain"><option>-c</option>
150
<replaceable>COMMENT</replaceable></arg>
153
<arg choice="plain"><option>-x</option>
154
<replaceable>TIME</replaceable></arg>
130
157
<arg choice="plain"><option>-f</option></arg>
134
161
<command>&COMMANDNAME;</command>
135
162
<group choice="req">
163
<arg choice="plain"><option>-p</option></arg>
136
164
<arg choice="plain"><option>--password</option></arg>
137
<arg choice="plain"><option>-p</option></arg>
138
<arg choice="plain"><option>--passfile
139
<replaceable>FILE</replaceable></option></arg>
140
<arg choice="plain"><option>-F</option>
141
<replaceable>FILE</replaceable></arg>
145
<arg choice="plain"><option>--dir
146
<replaceable>DIRECTORY</replaceable></option></arg>
147
<arg choice="plain"><option>-d
148
<replaceable>DIRECTORY</replaceable></option></arg>
152
<arg choice="plain"><option>--name
153
<replaceable>NAME</replaceable></option></arg>
154
<arg choice="plain"><option>-n
155
<replaceable>NAME</replaceable></option></arg>
158
<arg choice="plain"><option>--no-ssh</option></arg>
159
<arg choice="plain"><option>-S</option></arg>
167
<arg choice="plain"><option>--dir</option>
168
<replaceable>directory</replaceable></arg>
171
<arg choice="plain"><option>--name</option>
172
<replaceable>NAME</replaceable></arg>
163
176
<command>&COMMANDNAME;</command>
164
177
<group choice="req">
178
<arg choice="plain"><option>-h</option></arg>
165
179
<arg choice="plain"><option>--help</option></arg>
166
<arg choice="plain"><option>-h</option></arg>
170
183
<command>&COMMANDNAME;</command>
171
184
<group choice="req">
185
<arg choice="plain"><option>-v</option></arg>
172
186
<arg choice="plain"><option>--version</option></arg>
173
<arg choice="plain"><option>-v</option></arg>
176
189
</refsynopsisdiv>
178
191
<refsect1 id="description">
179
192
<title>DESCRIPTION</title>
181
194
<command>&COMMANDNAME;</command> is a program to generate the
183
<citerefentry><refentrytitle>mandos-client</refentrytitle>
184
<manvolnum>8mandos</manvolnum></citerefentry>. The key is
196
<citerefentry><refentrytitle>password-request</refentrytitle>
197
<manvolnum>8mandos</manvolnum></citerefentry>. The keys are
185
198
normally written to /etc/mandos for later installation into the
186
initrd image, but this, and most other things, can be changed
187
with command line options.
199
initrd image, but this, like most things, can be changed with
200
command line options.
190
This program can also be used with the
191
<option>--password</option> or <option>--passfile</option>
192
options to generate a ready-made section for
193
<filename>clients.conf</filename> (see
203
It can also be used to generate ready-made sections for
194
204
<citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
195
<manvolnum>5</manvolnum></citerefentry>).
205
<manvolnum>5</manvolnum></citerefentry> using the
206
<option>--password</option> option.
199
210
<refsect1 id="purpose">
200
211
<title>PURPOSE</title>
202
214
The purpose of this is to enable <emphasis>remote and unattended
203
215
rebooting</emphasis> of client host computer with an
204
216
<emphasis>encrypted root file system</emphasis>. See <xref
205
217
linkend="overview"/> for details.
209
222
<refsect1 id="options">
210
223
<title>OPTIONS</title>
214
<term><option>--help</option></term>
215
<term><option>-h</option></term>
227
<term><literal>-h</literal>, <literal>--help</literal></term>
218
230
Show a help message and exit
225
<replaceable>DIRECTORY</replaceable></option></term>
227
<replaceable>DIRECTORY</replaceable></option></term>
236
<term><literal>-d</literal>, <literal>--dir
237
<replaceable>directory</replaceable></literal></term>
230
240
Target directory for key files. Default is
231
<filename class="directory">/etc/mandos</filename>.
238
<replaceable>TYPE</replaceable></option></term>
240
<replaceable>TYPE</replaceable></option></term>
243
Key type. Default is <quote>RSA</quote>.
249
<term><option>--length
250
<replaceable>BITS</replaceable></option></term>
252
<replaceable>BITS</replaceable></option></term>
255
Key length in bits. Default is 4096.
261
<term><option>--subtype
262
<replaceable>KEYTYPE</replaceable></option></term>
264
<replaceable>KEYTYPE</replaceable></option></term>
267
Subkey type. Default is <quote>RSA</quote> (Elgamal
241
<filename>/etc/mandos</filename>.
247
<term><literal>-t</literal>, <literal>--type
248
<replaceable>type</replaceable></literal></term>
251
Key type. Default is <quote>DSA</quote>.
257
<term><literal>-l</literal>, <literal>--length
258
<replaceable>bits</replaceable></literal></term>
261
Key length in bits. Default is 2048.
267
<term><literal>-s</literal>, <literal>--subtype
268
<replaceable>type</replaceable></literal></term>
271
Subkey type. Default is <quote>ELG-E</quote> (Elgamal
268
272
encryption-only).
274
<term><option>--sublength
275
<replaceable>BITS</replaceable></option></term>
277
<replaceable>BITS</replaceable></option></term>
278
<term><literal>-L</literal>, <literal>--sublength
279
<replaceable>bits</replaceable></literal></term>
280
Subkey length in bits. Default is 4096.
282
Subkey length in bits. Default is 2048.
286
<term><option>--email
287
<replaceable>ADDRESS</replaceable></option></term>
289
<replaceable>ADDRESS</replaceable></option></term>
288
<term><literal>-e</literal>, <literal>--email</literal>
289
<replaceable>address</replaceable></term>
292
292
Email address of key. Default is empty.
298
<term><option>--comment
299
<replaceable>TEXT</replaceable></option></term>
301
<replaceable>TEXT</replaceable></option></term>
298
<term><literal>-c</literal>, <literal>--comment</literal>
299
<replaceable>comment</replaceable></term>
304
Comment field for key. Default is empty.
302
Comment field for key. The default value is
303
<quote><literal>Mandos client key</literal></quote>.
310
<term><option>--expire
311
<replaceable>TIME</replaceable></option></term>
313
<replaceable>TIME</replaceable></option></term>
309
<term><literal>-x</literal>, <literal>--expire</literal>
310
<replaceable>time</replaceable></term>
316
313
Key expire time. Default is no expiration. See
463
431
Normal invocation needs no options:
466
<userinput>&COMMANDNAME;</userinput>
434
<userinput>mandos-keygen</userinput>
468
436
</informalexample>
469
437
<informalexample>
471
Create key in another directory and of another type. Force
439
Create keys in another directory and of another type. Force
472
440
overwriting old key files:
476
444
<!-- do not wrap this line -->
477
<userinput>&COMMANDNAME; --dir ~/keydir --type RSA --force</userinput>
483
Prompt for a password, encrypt it with the key in <filename
484
class="directory">/etc/mandos</filename> and output a section
485
suitable for <filename>clients.conf</filename>.
488
<userinput>&COMMANDNAME; --password</userinput>
493
Prompt for a password, encrypt it with the key in the
494
<filename>client-key</filename> directory and output a section
495
suitable for <filename>clients.conf</filename>.
499
<!-- do not wrap this line -->
500
<userinput>&COMMANDNAME; --password --dir client-key</userinput>
445
<userinput>mandos-keygen --dir ~/keydir --type RSA --force</userinput>
503
448
</informalexample>
506
451
<refsect1 id="security">
507
452
<title>SECURITY</title>
509
454
The <option>--type</option>, <option>--length</option>,
510
455
<option>--subtype</option>, and <option>--sublength</option>
511
options can be used to create keys of low security. If in
512
doubt, leave them to the default values.
456
options can be used to create keys of insufficient security. If
457
in doubt, leave them to the default values.
515
The key expire time is <emphasis>not</emphasis> guaranteed to be
516
honored by <citerefentry><refentrytitle>mandos</refentrytitle>
460
The key expire time is not guaranteed to be honored by
461
<citerefentry><refentrytitle>mandos</refentrytitle>
517
462
<manvolnum>8</manvolnum></citerefentry>.
521
466
<refsect1 id="see_also">
522
467
<title>SEE ALSO</title>
524
<citerefentry><refentrytitle>intro</refentrytitle>
469
<citerefentry><refentrytitle>password-request</refentrytitle>
525
470
<manvolnum>8mandos</manvolnum></citerefentry>,
471
<citerefentry><refentrytitle>mandos</refentrytitle>
472
<manvolnum>8</manvolnum></citerefentry>,
526
473
<citerefentry><refentrytitle>gpg</refentrytitle>
527
<manvolnum>1</manvolnum></citerefentry>,
528
<citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
529
<manvolnum>5</manvolnum></citerefentry>,
530
<citerefentry><refentrytitle>mandos</refentrytitle>
531
<manvolnum>8</manvolnum></citerefentry>,
532
<citerefentry><refentrytitle>mandos-client</refentrytitle>
533
<manvolnum>8mandos</manvolnum></citerefentry>,
534
<citerefentry><refentrytitle>ssh-keyscan</refentrytitle>
535
474
<manvolnum>1</manvolnum></citerefentry>