move config directory to ~/.monkeysphere
[monkeysphere.git] / man / man1 / monkeysphere.1
1 .TH MONKEYSPHERE "1" "June 2008" "monkeysphere 0.1" "User Commands"
2
3 .SH NAME
4
5 monkeysphere \- Monkeysphere client user interface
6
7 .SH SYNOPSIS
8
9 .B monkeysphere \fIsubcommand\fP [\fIargs\fP]
10
11 .SH DESCRIPTION
12
13 \fBMonkeysphere\fP is a framework to leverage the OpenPGP web of trust
14 for OpenSSH authentication.  OpenPGP keys are tracked via GnuPG, and
15 added to the authorized_keys and known_hosts files used by OpenSSH for
16 connection authentication.
17
18 \fBmonkeysphere\fP is the Monkeysphere client utility.
19
20 .SH SUBCOMMANDS
21
22 \fBmonkeysphere\fP takes various subcommands:
23 .TP
24 .B update-known_hosts [HOST]...
25 Update the known_hosts file.  For each specified host, gpg will be
26 queried for a key associated with the host URI (see HOST
27 IDENTIFICATION in
28 .BR monkeysphere(5)),
29 optionally querying a keyserver.
30 If an acceptable key is found for the host (see KEY ACCEPTABILITY in
31 .BR monkeysphere(5)),
32 the key is added to the user's known_hosts file.  If a key is found
33 but is unacceptable for the host, any matching keys are removed from
34 the user's known_hosts file.  If no gpg key is found for the host,
35 nothing is done.  If no hosts are specified, all hosts listed in the
36 known_hosts file will be processed.  This subcommand will exit with a
37 status of 0 if at least one acceptable key was found for a specified
38 host, 1 if no matching keys were found at all, and 2 if matching keys
39 were found but none were acceptable.  `k' may be used in place of
40 `update-known_hosts'.
41 .TP
42 .B update-authorized_keys
43 Update the authorized_keys file for the user executing the command
44 (see MONKEYSPHERE_AUTHORIZED_KEYS in ENVIRONMENT, below).  First all
45 monkeysphere keys are cleared from the authorized_keys file.  Then, or
46 each user ID in the user's authorized_user_ids file, gpg will be
47 queried for keys associated with that user ID, optionally querying a
48 keyserver.  If an acceptable key is found (see KEY ACCEPTABILITY in
49 .BR monkeysphere (5)),
50 the key is added to the user's authorized_keys file.
51 If a key is found but is unacceptable for the user ID, any matching
52 keys are removed from the user's authorized_keys file.  If no gpg key
53 is found for the user ID, nothing is done.  This subcommand will exit
54 with a status of 0 if at least one acceptable key was found for a user
55 ID, 1 if no matching keys were found at all, and 2 if matching keys
56 were found but none were acceptable.  `a' may be used in place of
57 `update-authorized_keys'.
58 .TP
59 .B gen-subkey [KEYID]
60 Generate an authentication subkey for a private key in your GnuPG
61 keyring.  For the primary key with the specified key ID, generate a
62 subkey with "authentication" capability that can be used for
63 monkeysphere transactions.  An expiration length can be specified with
64 the `-e' or `--expire' option (prompt otherwise).  If no key ID is
65 specified, but only one key exists in the secret keyring, that key
66 will be used.  `g' may be used in place of `gen-subkey'.
67 .TP
68 .B subkey-to-ssh-agent [ssh-add arguments]
69 Push all authentication-capable subkeys in your GnuPG secret keyring
70 into your running ssh-agent.  Additional arguments are passed through
71 to
72 .BR ssh-add (1).
73 For example, to remove the authentication subkeys, pass an additional
74 `-d' argument.  To require confirmation on each use of the key, pass
75 `-c'.  `s' may be used in place of `subkey-to-ssh-agent'.
76 .TP
77 .B help
78 Output a brief usage summary.  `h' or `?' may be used in place of
79 `help'.
80
81 .SH ENVIRONMENT
82
83 The following environment variables will override those specified in
84 the monkeysphere.conf configuration file (defaults in parentheses):
85 .TP
86 MONKEYSPHERE_LOG_LEVEL
87 Set the log level (INFO).  Can be SILENT, ERROR, INFO, VERBOSE, DEBUG,
88 in increasing order of verbosity.
89 .TP
90 MONKEYSPHERE_GNUPGHOME, GNUPGHOME
91 GnuPG home directory (~/.gnupg).
92 .TP
93 MONKEYSPHERE_KEYSERVER
94 OpenPGP keyserver to use (subkeys.pgp.net).
95 .TP
96 MONKEYSPHERE_CHECK_KEYSERVER
97 Whether or not to check keyserver when making gpg queries (`true').
98 .TP
99 MONKEYSPHERE_KNOWN_HOSTS
100 Path to ssh known_hosts file (~/.ssh/known_hosts).
101 .TP
102 MONKEYSPHERE_HASH_KNOWN_HOSTS
103 Whether or not to hash to the known_hosts file entries (`true').
104 .TP
105 MONKEYSPHERE_AUTHORIZED_KEYS
106 Path to ssh authorized_keys file (~/.ssh/authorized_keys).
107
108 .SH FILES
109
110 .TP
111 ~/.monkeysphere/monkeysphere.conf
112 User monkeysphere config file.
113 .TP
114 /etc/monkeysphere/monkeysphere.conf
115 System-wide monkeysphere config file.
116 .TP
117 ~/.monkeysphere/authorized_user_ids
118 OpenPGP user IDs associated with keys that will be checked for
119 addition to the authorized_keys file.
120
121 .SH AUTHOR
122
123 Written by Jameson Rollins <jrollins@fifthhorseman.net>, Daniel
124 Kahn Gillmor <dkg@fifthhorseman.net>
125
126 .SH SEE ALSO
127
128 .BR monkeysphere-ssh-proxycommand (1),
129 .BR monkeysphere-server (8),
130 .BR monkeysphere (5),
131 .BR ssh (1),
132 .BR ssh-add (1),
133 .BR gpg (1)