summaryrefslogtreecommitdiff
path: root/man/man8/monkeysphere-host.8
blob: 4cf660db645fd671251011fba00a6f19bdd9e635 (plain)
  1. .TH MONKEYSPHERE-SERVER "8" "March 2009" "monkeysphere" "User Commands"
  2. .SH NAME
  3. monkeysphere\-host - Monkeysphere host admin tool.
  4. .SH SYNOPSIS
  5. .B monkeysphere\-host \fIsubcommand\fP [\fIargs\fP]
  6. .SH DESCRIPTION
  7. \fBMonkeysphere\fP is a framework to leverage the OpenPGP web of trust
  8. for OpenSSH authentication. OpenPGP keys are tracked via GnuPG, and
  9. added to the authorized_keys and known_hosts files used by OpenSSH for
  10. connection authentication.
  11. \fBmonkeysphere\-host\fP is a Monkeysphere server admin utility.
  12. .SH SUBCOMMANDS
  13. \fBmonkeysphere\-host\fP takes various subcommands:
  14. .TP
  15. .B import\-key FILE NAME[:PORT]
  16. Import a pem-encoded ssh secret host key from file FILE. If FILE
  17. is `\-', then the key will be imported from stdin. NAME[:PORT] is used
  18. to specify the fully-qualified hostname (and port) used in the user ID
  19. of the new OpenPGP key. If PORT is not specified, the no port is
  20. added to the user ID, which means port 22 is assumed. `i' may be used
  21. in place of `import\-key'.
  22. .TP
  23. .B show\-key
  24. Output information about host's OpenPGP and SSH keys. `s' may be used
  25. in place of `show\-key'.
  26. .TP
  27. .B set\-expire [EXPIRE]
  28. Extend the validity of the OpenPGP key for the host until EXPIRE from
  29. the present. If EXPIRE is not specified, then the user will be
  30. prompted for the extension term. Expiration is specified as with
  31. GnuPG (measured from today's date):
  32. .nf
  33. 0 = key does not expire
  34. <n> = key expires in n days
  35. <n>w = key expires in n weeks
  36. <n>m = key expires in n months
  37. <n>y = key expires in n years
  38. .fi
  39. `e' may be used in place of `set\-expire'.
  40. .TP
  41. .B add\-hostname HOSTNAME
  42. Add a hostname user ID to the server host key. `n+' may be used in
  43. place of `add\-hostname'.
  44. .TP
  45. .B revoke\-hostname HOSTNAME
  46. Revoke a hostname user ID from the server host key. `n\-' may be used
  47. in place of `revoke\-hostname'.
  48. .TP
  49. .B add\-revoker KEYID|FILE
  50. Add a revoker to the host's OpenPGP key. The key ID will be loaded
  51. from the keyserver. A file may be loaded instead of pulling the key
  52. from the keyserver by specifying the path to the file as the argument,
  53. or by specifying `\-' to load from stdin. `r+' may be be used in place
  54. of `add-revoker'.
  55. .TP
  56. .B revoke\-key
  57. Generate (with the option to publish) a revocation certificate for the
  58. host's OpenPGP key. If such a certificate is published, your host key
  59. will be permanently revoked. This subcommand will ask you a series of
  60. questions, and then generate a key revocation certificate, sending it
  61. to stdout. If you explicitly tell it to publish the revocation
  62. certificate immediately, it will send it to the public keyservers.
  63. USE WITH CAUTION!
  64. .TP
  65. .B publish\-key
  66. Publish the host's OpenPGP key to the public keyservers. `p' may be
  67. used in place of `publish-key'. Note that there is no way to remove a
  68. key from the public keyservers once it is published!
  69. .TP
  70. .B help
  71. Output a brief usage summary. `h' or `?' may be used in place of
  72. `help'.
  73. .TP
  74. .B version
  75. show version number
  76. Other commands:
  77. .TP
  78. .B diagnostics
  79. Review the state of the monkeysphere server host key and report on
  80. suggested changes. Among other checks, this includes making sure
  81. there is a valid host key, that the key is published, that the sshd
  82. configuration points to the right place, etc. `d' may be used in
  83. place of `diagnostics'.
  84. .SH SETUP HOST AUTHENTICATION
  85. To enable host verification via the monkeysphere, the host's key must
  86. be published to the Web of Trust. This is not done by default. To
  87. publish the host key to the keyservers, run the following command:
  88. $ monkeysphere\-host publish\-key
  89. In order for users logging into the system to be able to identify the
  90. host via the monkeysphere, at least one person (e.g. a server admin)
  91. will need to sign the host's key. This is done using standard OpenPGP
  92. keysigning techniques, usually: pull the key from the keyserver,
  93. verify and sign the key, and then re-publish the signature. Once an
  94. admin's signature is published, users logging into the host can use it
  95. to validate the host's key.
  96. .SH ENVIRONMENT
  97. The following environment variables will override those specified in
  98. the config file (defaults in parentheses):
  99. .TP
  100. MONKEYSPHERE_LOG_LEVEL
  101. Set the log level (INFO). Can be SILENT, ERROR, INFO, VERBOSE, DEBUG, in
  102. increasing order of verbosity.
  103. .TP
  104. MONKEYSPHERE_KEYSERVER
  105. OpenPGP keyserver to use (pool.sks\-keyservers.net).
  106. .TP
  107. MONKEYSPHERE_PROMPT
  108. If set to `false', never prompt the user for confirmation. (true)
  109. .SH FILES
  110. .TP
  111. /etc/monkeysphere/monkeysphere\-host.conf
  112. System monkeysphere-host config file.
  113. .TP
  114. /var/lib/monkeysphere/host/ssh_host_rsa_key.pub.gpg
  115. A world-readable copy of the host's public key in OpenPGP format,
  116. including all relevant self-signatures.
  117. .SH AUTHOR
  118. Written by:
  119. Jameson Rollins <jrollins@fifthhorseman.net>,
  120. Daniel Kahn Gillmor <dkg@fifthhorseman.net>,
  121. Matthew Goins <mjgoins@openflows.com>
  122. .SH SEE ALSO
  123. .BR monkeysphere (1),
  124. .BR monkeysphere\-authentication (8),
  125. .BR monkeysphere (7),
  126. .BR gpg (1),
  127. .BR ssh (1),
  128. .BR sshd (8),