Merge commit 'jrollins/master'
[monkeysphere.git] / man / man1 / monkeysphere.1
index 4c3d4837cfe3fc2a4599b909e8e57e206f96f6b8..db35a38f8b8d969437e867d3e89120a73141def4 100644 (file)
@@ -1,6 +1,115 @@
 .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 OpenSSH authentication.  OpenPGP keys are tracked via GnuPG, and
+added to the authorized_keys and known_hosts files used by OpenSSH 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 authorized_keys file for the user executing the command
+(see MONKEYSPHERE_AUTHORIZED_KEYS in ENVIRONMENT, below).  First all
+monkeysphere keys are cleared from the authorized_keys file.  Then, or
+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 a private key in your GnuPG
+keyring.  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).  If no key ID is
+specified, but only one key exists in the secret keyring, that key
+will be used.  `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)