92ba2fa076512043c404495c37d73b53802f84e7
[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_GNUPGHOME, GNUPGHOME
87 GnuPG home directory (~/.gnupg).
88 .TP
89 MONKEYSPHERE_KEYSERVER
90 OpenPGP keyserver to use (subkeys.pgp.net).
91 .TP
92 MONKEYSPHERE_CHECK_KEYSERVER
93 Whether or not to check keyserver when making gpg queries (`true').
94 .TP
95 MONKEYSPHERE_KNOWN_HOSTS
96 Path to ssh known_hosts file (~/.ssh/known_hosts).
97 .TP
98 MONKEYSPHERE_HASH_KNOWN_HOSTS
99 Whether or not to hash to the known_hosts file entries (`true').
100 .TP
101 MONKEYSPHERE_AUTHORIZED_KEYS
102 Path to ssh authorized_keys file (~/.ssh/authorized_keys).
103
104 .SH FILES
105
106 .TP
107 ~/.config/monkeysphere/monkeysphere.conf
108 User monkeysphere config file.
109 .TP
110 /etc/monkeysphere/monkeysphere.conf
111 System-wide monkeysphere config file.
112 .TP
113 ~/.config/monkeysphere/authorized_user_ids
114 OpenPGP user IDs associated with keys that will be checked for
115 addition to the authorized_keys file.
116
117 .SH AUTHOR
118
119 Written by Jameson Rollins <jrollins@fifthhorseman.net>, Daniel
120 Kahn Gillmor <dkg@fifthhorseman.net>
121
122 .SH SEE ALSO
123
124 .BR monkeysphere-ssh-proxycommand (1),
125 .BR monkeysphere-server (8),
126 .BR monkeysphere (5),
127 .BR ssh (1),
128 .BR ssh-add (1),
129 .BR gpg (1)