Provided by: monkeysphere_0.37-3_all bug

NAME

       monkeysphere-authentication - Monkeysphere authentication admin tool.

SYNOPSIS

       monkeysphere-authentication subcommand [args]

DESCRIPTION

       Monkeysphere  is  a  framework  to  leverage  the OpenPGP Web of Trust (WoT) for key-based
       authentication.  OpenPGP keys are tracked via GnuPG,  and  added  to  the  authorized_keys
       files used by OpenSSH for connection authentication.

       monkeysphere-authentication  is  a  Monkeysphere  server admin utility for configuring and
       managing SSH user authentication through the WoT.

SUBCOMMANDS

       monkeysphere-authentication takes various subcommands:

       update-users [USER]...
              Rebuild the monkeysphere-controlled  authorized_keys  files.   For  each  specified
              account,  the  user  ID's  listed  in  the  account's  authorized_user_ids file are
              processed.  For each user ID, 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(7)), the key is added to the account's  monkeysphere-
              controlled  authorized_keys file.  If the RAW_AUTHORIZED_KEYS variable is set, then
              a separate authorized_keys file (usually ~USER/.ssh/authorized_keys) is appended to
              the  monkeysphere-controlled  authorized_keys  file.  If no accounts are specified,
              then all accounts on the system are  processed.   `u'  may  be  used  in  place  of
              `update-users'.

       keys-for-user USER
              Output to stdout authorized_keys lines for USER.  This command behaves exactly like
              update-users (above), except that the resulting authorized_keys lines are output to
              stdout,  instead  of  being  written to the monkeysphere-controlled authorized_keys
              file.

       refresh-keys
              Refresh all keys in the monkeysphere-authentication keyring.  If  no  accounts  are
              specified, then all accounts on the system are processed.  `r' may be used in place
              of `refresh-keys'.

       add-id-certifier KEYID|FILE
              Instruct system to trust user identity certifications made by KEYID.   The  key  ID
              will be loaded from the keyserver.  A file may be loaded instead of pulling the key
              from the keyserver by specifying the path to  the  file  as  the  argument,  or  by
              specifying  `-' to load from stdin.  Using the `-n' or `--domain' option allows you
              to indicate that you only trust the given KEYID to make  identifications  within  a
              specific   domain  (e.g.  "trust  KEYID  to  certify  user  identities  within  the
              @example.org domain").  A certifier trust level can be specified with the  `-t'  or
              `--trust'  option  (possible values are `marginal' and `full' (default is `full')).
              A certifier trust depth can be specified with the `-d' or `--depth' option (default
              is 1).  `c+' may be used in place of `add-id-certifier'.

       remove-id-certifier KEYID
              Instruct  system to ignore user identity certifications made by KEYID.  `c-' may be
              used in place of `remove-id-certifier'.

       list-id-certifiers
              List key IDs trusted by the system to certify user identities.  `c' may be used  in
              place of `list-id-certifiers'.

       version
              Show the monkeysphere version number.  `v' may be used in place of `version'.

       help   Output a brief usage summary.  `h' or `?' may be used in place of `help'.

              Other commands:

       setup  Setup the server in preparation for Monkeysphere user authentication.  This command
              is idempotent and run automatically by the other commands, and should therefore not
              usually need to be run manually.  `s' may be used in place of `setup'.

       diagnostics
              Review  the state of the server with respect to authentication.  `d' may be used in
              place of `diagnostics'.

       gpg-cmd
              Execute a gpg command, as the monkeysphere user, on the monkeysphere authentication
              `sphere'  keyring.   As  of monkeysphere 0.36, this takes its arguments separately,
              not as  a  single  string.   Use  this  command  with  caution,  as  modifying  the
              authentication sphere keyring can affect ssh user authentication.

SETUP USER AUTHENTICATION

       If   the   server   will   handle   user   authentication  through  monkeysphere-generated
       authorized_keys files, the server must be told which keys will act as identity certifiers.
       This is done with the add-id-certifier command:

       # monkeysphere-authentication add-id-certifier KEYID

       where  KEYID  is  the  key  ID  of the server admin, or whoever's certifications should be
       acceptable to the system for the purposes of authenticating remote  users.   You  can  run
       this  command  multiple  times  to indicate that multiple certifiers are trusted.  You may
       also specify a filename instead of a key ID, as long as the file contains a single OpenPGP
       public  key.   Certifiers  can be removed with the remove-id-certifier command, and listed
       with the list-id-certifiers command.

       A remote user will be granted access to a local account based on the  appropriately-signed
       and valid keys associated with user IDs listed in that account's authorized_user_ids file.
       By     default,     the     authorized_user_ids     file     for     an     account     is
       ~/.monkeysphere/authorized_user_ids.       This      can     be     changed     in     the
       monkeysphere-authentication.conf file.

       The update-users command is used to generate authorized_keys files  for  a  local  account
       based on the user IDs listed in the account's authorized_user_ids file:

       # monkeysphere-authentication update-users USER

       Not  specifying USER will cause all accounts on the system to updated.  The ssh server can
       use these monkeysphere-generated authorized_keys files to grant access  to  user  accounts
       for remote users.  In order for sshd to look at the monkeysphere-generated authorized_keys
       file for user  authentication,  the  AuthorizedKeysFile  parameter  must  be  set  in  the
       sshd_config to point to the monkeysphere-generated authorized_keys files:

       AuthorizedKeysFile /var/lib/monkeysphere/authorized_keys/%u

       It  is  recommended to add "monkeysphere-authentication update-users" to a system crontab,
       so that user keys are  kept  up-to-date,  and  key  revocations  and  expirations  can  be
       processed in a timely manner.

ENVIRONMENT

       The  following  environment  variables  will  override  those specified in the config file
       (defaults in parentheses):

       MONKEYSPHERE_MONKEYSPHERE_USER
              User to control authentication keychain. (monkeysphere)

       MONKEYSPHERE_LOG_LEVEL
              Set the log level.  Can be SILENT, ERROR, INFO, VERBOSE, DEBUG, in increasing order
              of verbosity. (INFO)

       MONKEYSPHERE_KEYSERVER
              OpenPGP keyserver to use. (pool.sks-keyservers.net)

       MONKEYSPHERE_CHECK_KEYSERVER
              Whether or not to check the keyserver when making gpg queries. (true)

       MONKEYSPHERE_AUTHORIZED_USER_IDS
              Path  to user's authorized_user_ids file. %h gets replaced with the user's homedir,
              %u with the username.  (%h/.monkeysphere/authorized_user_ids)

       MONKEYSPHERE_RAW_AUTHORIZED_KEYS
              Path to regular ssh-style authorized_keys file to append to  monkeysphere-generated
              authorized_keys.   `none'  means  not to add any raw authorized_keys file.  %h gets
              replaced with the user's homedir, %u with the username. (%h/.ssh/authorized_keys)

       MONKEYSPHERE_PROMPT
              If set to `false', never prompt the user for confirmation. (true)

       MONKEYSPHERE_STRICT_MODES
              If set to `false', ignore too-loose permissions  on  known_hosts,  authorized_keys,
              and  authorized_user_ids  files.   NOTE:  setting this to false may expose users to
              abuse by other users on the system. (true)

FILES

       /etc/monkeysphere/monkeysphere-authentication.conf
              System monkeysphere-authentication config file.

       /etc/monkeysphere/monkeysphere-authentication-x509-anchors.crt                          or
       /etc/monkeysphere/monkeysphere-x509-anchors.crt
              If  monkeysphere-authentication  is  configured to query an hkps keyserver, it will
              use the PEM-encoded X.509  Certificate  Authority  certificates  in  this  file  to
              validate  any  X.509  certificates  used  by  the  keyserver.  If the monkeysphere-
              authentication-x509 file is present, the monkeysphere-x509 file will be ignored.

       /var/lib/monkeysphere/authorized_keys/USER
              Monkeysphere-controlled user authorized_keys files.

       ~/.monkeysphere/authorized_user_ids
              A list of OpenPGP user IDs, one per line.  OpenPGP keys  with  an  exactly-matching
              User  ID  (calculated  valid  by the designated identity certifiers), will have any
              valid  authorization-capable  keys  or  subkeys   added   to   the   given   user's
              authorized_keys  file.  Any line with initial whitespace will be interpreted as ssh
              authorized_keys options applicable to the preceding User ID.

AUTHOR

       This man page was written by: Jameson Rollins  <jrollins@finestructure.net>,  Daniel  Kahn
       Gillmor <dkg@fifthhorseman.net>, Matthew Goins <mjgoins@openflows.com>

SEE ALSO

       monkeysphere(1),   monkeysphere-host(8),   monkeysphere(7),   gpg(1),   ssh(1),   sshd(8),
       sshd_config(5)