summaryrefslogtreecommitdiff
path: root/man/man1/monkeysphere.1
blob: 526cad6d76e79ad0b9a6246e3a3a597717dd962c (plain)
  1. .TH MONKEYSPHERE "1" "June 2008" "monkeysphere 0.1" "User Commands"
  2. .SH NAME
  3. monkeysphere \- MonkeySphere client user interface
  4. .SH SYNOPSIS
  5. .B monkeysphere \fIcommand\fP [\fIargs\fP]
  6. .SH DESCRIPTION
  7. MonkeySphere is a system to leverage the OpenPGP Web of Trust for ssh
  8. authentication and encryption. OpenPGP keys are tracked via GnuPG,
  9. and added to the ssh authorized_keys and known_hosts files to be used
  10. for authentication and encryption of ssh connection.
  11. \fBmonkeysphere\fP is the MonkeySphere client utility.
  12. .SH SUBCOMMANDS
  13. \fBmonkeysphere\fP takes various subcommands:
  14. .TP
  15. .B update-known_hosts [HOST]...
  16. Update the known_hosts file. For each specified host, gpg will be
  17. queried for a key associated with the host URI (see HOST URIs),
  18. querying a keyserver if none is found in the user's keychain. search
  19. for a gpg key for the host in the Web of Trust. If a key is found, it
  20. will be added to the host_keys cache (see KEY CACHES) and any ssh keys
  21. for the host will be removed from the user's known_hosts file. If the
  22. found key is acceptable (see KEY ACCEPTABILITY), then the host's gpg
  23. key will be added to the known_hosts file. If no gpg key is found for
  24. the host, then nothing is done. If no hosts are specified, all hosts
  25. listed in the known_hosts file will be processed. `k' may be used in
  26. place of `update-known_hosts'.
  27. .TP
  28. .B update-userids [USERID]...
  29. Add/update a user ID to the authorized_user_ids file. The user IDs
  30. specified should be exact matches to OpenPGP user IDs. For each
  31. specified user ID, gpg will be queried for a key associated with that
  32. user ID, querying a keyserver if none is found in the user's keychain.
  33. If a key is found, it will be added to the user_keys cache (see KEY
  34. CACHES) and the user ID will be added to the user's
  35. authorized_user_ids file (if it wasn't already present). `u' may be
  36. used in place of `update-userids'.
  37. .TP
  38. .B remove-userids [USERID]...
  39. Remove a user ID from the authorized_user_ids file. The user IDs
  40. specified should be exact matches to OpenPGP user IDs. `r' may be
  41. used in place of `remove-userids'.
  42. .TP
  43. .B update-authorized_keys
  44. Update the monkeysphere authorized_keys file. The monkeysphere
  45. authorized_keys file will be regenerated from the valid keys in the
  46. user_key cache, and the user's independently controlled
  47. authorized_keys file (usually ~/.ssh/authorized_keys). `a' may be
  48. used in place of `update-authorized_keys'.
  49. .TP
  50. .B gen-ae-subkey KEYID
  51. Generate an `ae` capable subkey. For the primary key with the
  52. specified key ID, generate a subkey with "authentication" and
  53. "encryption" capability that can be used for MonkeySphere
  54. transactions. `g' may be used in place of `gen-ae-subkey'.
  55. .TP
  56. .B help
  57. Output a brief usage summary. `h' or `?' may be used in place of
  58. `help'.
  59. .SH HOST URIs
  60. Host OpenPGP keys have associated user IDs that use the ssh URI
  61. specification for the host, ie. "ssh://host.full.domain".
  62. .SH KEY ACCEPTABILITY
  63. GPG keys are considered acceptable if the following criteria are met:
  64. .TP
  65. .B capability
  66. The key must have both the "authentication" and "encrypt" capability
  67. flags.
  68. .TP
  69. .B validity
  70. The key must be "fully" valid, and must not be expired or revoked.
  71. .SH KEY CACHES
  72. Monkeysphere keeps track of keys in key cache directories. The files
  73. in the cache are named with the format "USERID_HASH.PUB_KEY_ID", where
  74. USERID_HASH is a hash of the exact OpenPGP user ID, and PUB_KEY_ID is
  75. the key ID of the primary key. If the user/key ID combo exists in the
  76. Web of Trust but is not acceptable, then the file is empty. If the
  77. primary key has at least one acceptable sub key, then an ssh-style
  78. key, converted from the OpenPGP key, of all acceptable subkeys will be
  79. stored in the cache file, one per line. known_hosts style key lines
  80. will be stored in the host_keys cache files, and authorized_keys style
  81. key lines will be stored in the user_keys cache files. OpenPGP keys
  82. are converted to ssh-style keys with the openpgp2ssh utility (see `man
  83. openpgp2ssh').
  84. .SH FILES
  85. .TP
  86. ~/.config/monkeysphere/monkeysphere.conf
  87. User monkeysphere config file.
  88. .TP
  89. /etc/monkeysphere/monkeysphere.conf
  90. System-wide monkeysphere config file.
  91. .TP
  92. ~/.config/monkeysphere/authorized_user_ids
  93. OpenPGP user IDs associated with keys that will be checked for
  94. addition to the authorized_keys file.
  95. .TP
  96. ~/.config/monkeysphere/authorized_keys
  97. Monkeysphere generated authorized_keys file.
  98. .TP
  99. ~/.config/monkeysphere/user_keys
  100. User keys cache directory.
  101. .TP
  102. ~/.config/monkeysphere/host_keys
  103. Host keys cache directory.
  104. .SH AUTHOR
  105. Written by Jameson Rollins <jrollins@fifthhorseman.net>
  106. .SH SEE ALSO
  107. .BR monkeysphere-ssh-proxycommand (1),
  108. .BR monkeysphere-server (8),
  109. .BR ssh (1),
  110. .BR gpg (1)