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