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