more documentation for end users (and more FIXMEs), including README.admin in the...
[monkeysphere.git] / man / man1 / monkeysphere.1
index 4c3d4837cfe3fc2a4599b909e8e57e206f96f6b8..43102d364f2086e43ca0f722f5304fdf5201aa90 100644 (file)
@@ -1,6 +1,111 @@
 .TH MONKEYSPHERE "1" "June 2008" "monkeysphere 0.1" "User Commands"
+
 .SH NAME
-monkeysphere \- monkeysphere client user interface
+
+monkeysphere \- MonkeySphere client user interface
+
 .SH SYNOPSIS
-.B monkeysphere \fIcommand\fP [\fIargs\fP]
+
+.B monkeysphere \fIsubcommand\fP [\fIargs\fP]
+
 .SH DESCRIPTION
+
+\fBMonkeySphere\fP is a framework to leverage the OpenPGP Web of Trust
+for ssh authentication.  OpenPGP keys are tracked via GnuPG, and added
+to the authorized_keys and known_hosts files used by ssh for
+connection authentication.
+
+\fBmonkeysphere\fP is the MonkeySphere client utility.
+
+.SH SUBCOMMANDS
+
+\fBmonkeysphere\fP takes various subcommands:
+.TP
+.B update-known_hosts [HOST]...
+Update the known_hosts file.  For each specified host, gpg will be
+queried for a key associated with the host URI (see HOST
+IDENTIFICATION in monkeysphere(5)), optionally querying a keyserver.
+If an acceptable key is found for the host (see KEY ACCEPTABILITY in
+monkeysphere(5)), the key is added to the user's known_hosts file.  If
+a key is found but is unacceptable for the host, any matching keys are
+removed from the user's known_hosts file.  If no gpg key is found for
+the host, nothing is done.  If no hosts are specified, all hosts
+listed in the known_hosts file will be processed.  This subcommand
+will exit with a status of 0 if at least one acceptable key was found
+for a specified host, 1 if no matching keys were found at all, and 2
+if matching keys were found but none were acceptable.  `k' may be used
+in place of `update-known_hosts'.
+.TP
+.B update-authorized_keys
+Update the monkeysphere authorized_keys file.  For each user ID in the
+user's authorized_user_ids file, gpg will be queried for keys
+associated with that user ID, optionally querying a keyserver.  If an
+acceptable key is found (see KEY ACCEPTABILITY in monkeysphere(5)),
+the key is added to the user's authorized_keys file.  If a key is
+found but is unacceptable for the user ID, any matching keys are
+removed from the user's authorized_keys file.  If no gpg key is found
+for the user ID, nothing is done.  This subcommand will exit with a
+status of 0 if at least one acceptable key was found for a user ID, 1
+if no matching keys were found at all, and 2 if matching keys were
+found but none were acceptable.  `a' may be used in place of
+`update-authorized_keys'.
+.TP
+.B gen-subkey KEYID
+Generate an authentication subkey.  For the primary key with the
+specified key ID, generate a subkey with "authentication" capability
+that can be used for monkeysphere transactions.  An expiration length
+can be specified with the `-e' or `--expire' option (prompt
+otherwise).  `g' may be used in place of `gen-subkey'.
+.TP
+.B help
+Output a brief usage summary.  `h' or `?' may be used in place of
+`help'.
+
+.SH ENVIRONMENT
+
+The following environment variables will override those specified in
+the monkeysphere.conf configuration file (defaults in parentheses):
+.TP
+MONKEYSPHERE_GNUPGHOME, GNUPGHOME
+GnuPG home directory (~/.gnupg).
+.TP
+MONKEYSPHERE_KEYSERVER
+OpenPGP keyserver to use (subkeys.pgp.net).
+.TP
+MONKEYSPHERE_CHECK_KEYSERVER
+Whether or not to check keyserver when making gpg queries (`true').
+.TP
+MONKEYSPHERE_KNOWN_HOSTS
+Path to ssh known_hosts file (~/.ssh/known_hosts).
+.TP
+MONKEYSPHERE_HASH_KNOWN_HOSTS
+Whether or not to hash to the known_hosts file entries (`true').
+.TP
+MONKEYSPHERE_AUTHORIZED_KEYS
+Path to ssh authorized_keys file (~/.ssh/authorized_keys).
+
+.SH FILES
+
+.TP
+~/.config/monkeysphere/monkeysphere.conf
+User monkeysphere config file.
+.TP
+/etc/monkeysphere/monkeysphere.conf
+System-wide monkeysphere config file.
+.TP
+~/.config/monkeysphere/authorized_user_ids
+OpenPGP user IDs associated with keys that will be checked for
+addition to the authorized_keys file.
+
+.SH AUTHOR
+
+Written by Jameson Rollins <jrollins@fifthhorseman.net>, Daniel
+Kahn Gillmor <dkg@fifthhorseman.net>
+
+.SH SEE ALSO
+
+.BR monkeysphere-ssh-proxycommand (1),
+.BR monkeysphere-server (8),
+.BR monkeysphere (5),
+.BR ssh (1),
+.BR gpg (1)