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 "password-request">
6
<!ENTITY TIMESTAMP "2008-09-02">
9
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
11
<title>Mandos Manual</title>
12
<!-- Nwalsh’s docbook scripts use this to generate the footer: -->
13
<productname>Mandos</productname>
14
<productnumber>&VERSION;</productnumber>
15
<date>&TIMESTAMP;</date>
18
<firstname>Björn</firstname>
19
<surname>Påhlsson</surname>
21
<email>belorn@fukt.bsnet.se</email>
25
<firstname>Teddy</firstname>
26
<surname>Hogeborn</surname>
28
<email>teddy@fukt.bsnet.se</email>
34
<holder>Teddy Hogeborn</holder>
35
<holder>Björn Påhlsson</holder>
37
<xi:include href="../legalnotice.xml"/>
41
<refentrytitle>&COMMANDNAME;</refentrytitle>
42
<manvolnum>8mandos</manvolnum>
46
<refname><command>&COMMANDNAME;</command></refname>
54
<command>&COMMANDNAME;</command>
56
<arg choice="plain"><option>--connect
57
<replaceable>IPADDR</replaceable><literal>:</literal
58
><replaceable>PORT</replaceable></option></arg>
59
<arg choice="plain"><option>-c
60
<replaceable>IPADDR</replaceable><literal>:</literal
61
><replaceable>PORT</replaceable></option></arg>
65
<arg choice="plain"><option>--keydir
66
<replaceable>DIRECTORY</replaceable></option></arg>
67
<arg choice="plain"><option>-d
68
<replaceable>DIRECTORY</replaceable></option></arg>
72
<arg choice="plain"><option>--interface
73
<replaceable>NAME</replaceable></option></arg>
74
<arg choice="plain"><option>-i
75
<replaceable>NAME</replaceable></option></arg>
79
<arg choice="plain"><option>--pubkey
80
<replaceable>FILE</replaceable></option></arg>
81
<arg choice="plain"><option>-p
82
<replaceable>FILE</replaceable></option></arg>
86
<arg choice="plain"><option>--seckey
87
<replaceable>FILE</replaceable></option></arg>
88
<arg choice="plain"><option>-s
89
<replaceable>FILE</replaceable></option></arg>
93
<option>--priority <replaceable>STRING</replaceable></option>
97
<option>--dh-bits <replaceable>BITS</replaceable></option>
101
<option>--debug</option>
105
<command>&COMMANDNAME;</command>
107
<arg choice="plain"><option>--help</option></arg>
108
<arg choice="plain"><option>-?</option></arg>
112
<command>&COMMANDNAME;</command>
113
<arg choice="plain"><option>--usage</option></arg>
116
<command>&COMMANDNAME;</command>
118
<arg choice="plain"><option>--version</option></arg>
119
<arg choice="plain"><option>-V</option></arg>
124
<refsect1 id="description">
125
<title>DESCRIPTION</title>
127
<command>&COMMANDNAME;</command> is a client program that
128
communicates with <citerefentry><refentrytitle
129
>mandos</refentrytitle><manvolnum>8</manvolnum></citerefentry>
130
to get a password. It uses IPv6 link-local addresses to get
131
network connectivity, Zeroconf to find the server, and TLS with
132
an OpenPGP key to ensure authenticity and confidentiality. It
133
keeps running, trying all servers on the network, until it
134
receives a satisfactory reply.
137
This program is not meant to be run directly; it is really meant
138
to run as a plugin of the <application>Mandos</application>
139
<citerefentry><refentrytitle>plugin-runner</refentrytitle>
140
<manvolnum>8mandos</manvolnum></citerefentry>, which in turn
141
runs as a <quote>keyscript</quote> specified in the
142
<citerefentry><refentrytitle>crypttab</refentrytitle>
143
<manvolnum>5</manvolnum></citerefentry> file.
147
<refsect1 id="purpose">
148
<title>PURPOSE</title>
150
The purpose of this is to enable <emphasis>remote and unattended
151
rebooting</emphasis> of client host computer with an
152
<emphasis>encrypted root file system</emphasis>. See <xref
153
linkend="overview"/> for details.
157
<refsect1 id="overview">
158
<title>OVERVIEW</title>
159
<xi:include href="overview.xml"/>
161
This program is the client part. It is a plugin started by
162
<citerefentry><refentrytitle>plugin-runner</refentrytitle>
163
<manvolnum>8mandos</manvolnum></citerefentry> which will run in
164
an initial <acronym>RAM</acronym> disk environment.
167
This program could, theoretically, be used as a keyscript in
168
<filename>/etc/crypttab</filename>, but it would then be
169
impossible to enter the encrypted root disk password at the
170
console, since this program does not read from the console at
171
all. This is why a separate plugin does that, which will be run
172
in parallell to this one.
176
<refsect1 id="options">
177
<title>OPTIONS</title>
179
This program is commonly not invoked from the command line; it
180
is normally started by the <application>Mandos</application>
181
plugin runner, see <citerefentry><refentrytitle
182
>plugin-runner</refentrytitle><manvolnum>8mandos</manvolnum>
183
</citerefentry>. Any command line options this program accepts
184
are therefore normally provided by the plugin runner, and not
190
<term><option>--connect=<replaceable
191
>IPADDR</replaceable><literal>:</literal><replaceable
192
>PORT</replaceable></option></term>
194
<replaceable>IPADDR</replaceable><literal>:</literal
195
><replaceable>PORT</replaceable></option></term>
198
Do not use Zeroconf to locate servers. Connect directly
199
to only one specified <application>Mandos</application>
200
server. Note that an IPv6 address has colon characters in
201
it, so the <emphasis>last</emphasis> colon character is
202
assumed to separate the address from the port number.
205
This option is normally only useful for debugging.
211
<term><option>--keydir=<replaceable
212
>DIRECTORY</replaceable></option></term>
214
<replaceable>DIRECTORY</replaceable></option></term>
217
Directory to read the OpenPGP key files
218
<filename>pubkey.txt</filename> and
219
<filename>seckey.txt</filename> from. The default is
220
<filename>/conf/conf.d/mandos</filename> (in the initial
221
<acronym>RAM</acronym> disk environment).
227
<term><option>--interface=
228
<replaceable>NAME</replaceable></option></term>
230
<replaceable>NAME</replaceable></option></term>
233
Network interface that will be brought up and scanned for
234
Mandos servers to connect to. The default it
235
<quote><literal>eth0</literal></quote>.
241
<term><option>--pubkey=<replaceable
242
>FILE</replaceable></option></term>
244
<replaceable>FILE</replaceable></option></term>
247
OpenPGP public key file name. This will be combined with
248
the directory from the <option>--keydir</option> option to
249
form an absolute file name. The default name is
250
<quote><literal>pubkey.txt</literal></quote>.
256
<term><option>--seckey=<replaceable
257
>FILE</replaceable></option></term>
259
<replaceable>FILE</replaceable></option></term>
262
OpenPGP secret key file name. This will be combined with
263
the directory from the <option>--keydir</option> option to
264
form an absolute file name. The default name is
265
<quote><literal>seckey.txt</literal></quote>.
271
<term><option>--priority=<replaceable
272
>STRING</replaceable></option></term>
274
<xi:include href="mandos-options.xml" xpointer="priority"/>
279
<term><option>--dh-bits=<replaceable
280
>BITS</replaceable></option></term>
283
Sets the number of bits to use for the prime number in the
284
TLS Diffie-Hellman key exchange. Default is 1024.
290
<term><option>--debug</option></term>
293
Enable debug mode. This will enable a lot of output to
294
standard error about what the program is doing. The
295
program will still perform all other functions normally.
298
It will also enable debug mode in the Avahi and GnuTLS
299
libraries, making them print large amounts of debugging
306
<term><option>--help</option></term>
307
<term><option>-?</option></term>
310
Gives a help message about options and their meanings.
316
<term><option>--usage</option></term>
319
Gives a short usage message.
325
<term><option>--version</option></term>
326
<term><option>-V</option></term>
329
Prints the program version.
336
<refsect1 id="exit_status">
337
<title>EXIT STATUS</title>
339
This program will exit with a successful (zero) exit status if a
340
server could be found and the password received from it could be
341
successfully decrypted and output on standard output. The
342
program will exit with a non-zero exit status only if a critical
343
error occurs. Otherwise, it will forever connect to new
344
<application>Mandosservers</application> servers as they appear,
345
trying to get a decryptable password.
349
<!-- <refsect1 id="environment"> -->
350
<!-- <title>ENVIRONMENT</title> -->
352
<!-- This program does not use any environment variables. -->
368
<refsect1 id="example">
369
<title>EXAMPLE</title>
374
<refsect1 id="security">
375
<title>SECURITY</title>
380
<refsect1 id="see_also">
381
<title>SEE ALSO</title>
383
<citerefentry><refentrytitle>mandos</refentrytitle>
384
<manvolnum>8</manvolnum></citerefentry>,
385
<citerefentry><refentrytitle>password-prompt</refentrytitle>
386
<manvolnum>8mandos</manvolnum></citerefentry>,
387
<citerefentry><refentrytitle>plugin-runner</refentrytitle>
388
<manvolnum>8mandos</manvolnum></citerefentry>
392
<ulink url="http://www.zeroconf.org/">Zeroconf</ulink>
396
<ulink url="http://www.avahi.org/">Avahi</ulink>
401
url="http://www.gnu.org/software/gnutls/">GnuTLS</ulink>
406
url="http://www.gnupg.org/related_software/gpgme/">
411
<citation>RFC 4880: <citetitle>OpenPGP Message
412
Format</citetitle></citation>
416
<citation>RFC 5081: <citetitle>Using OpenPGP Keys for
417
Transport Layer Security</citetitle></citation>
421
<citation>RFC 4291: <citetitle>IP Version 6 Addressing
422
Architecture</citetitle>, section 2.5.6, Link-Local IPv6
423
Unicast Addresses</citation>
429
<!-- Local Variables: -->
430
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
431
<!-- time-stamp-end: "[\"']>" -->
432
<!-- time-stamp-format: "%:y-%02m-%02d" -->