summaryrefslogtreecommitdiff
path: root/man/man8/monkeysphere-server.8
blob: 3411c646cee120763a059f8d1241f02695346e4c (plain)
  1. .TH MONKEYSPHERE-SERVER "1" "June 2008" "monkeysphere 0.1" "User Commands"
  2. .SH NAME
  3. monkeysphere-server \- monkeysphere server admin user interface
  4. .SH SYNOPSIS
  5. .B monkeysphere-server \fIcommand\fP [\fIargs\fP]
  6. .SH DESCRIPTION
  7. \fBMonkeySphere\fP is a system to leverage the OpenPGP Web of Trust
  8. for ssh authentication and encryption. OpenPGP keys are tracked via
  9. GnuPG, and added to the ssh authorized_keys and known_hosts files to
  10. be used for authentication of ssh connections.
  11. \fBmonkeysphere-server\fP is the MonkeySphere server admin utility.
  12. .SH SUBCOMMANDS
  13. \fBmonkeysphere-server\fP takes various subcommands:
  14. .TP
  15. .B update-users [USER]...
  16. Update the admin-controlled authorized_keys files for user. For each
  17. user specified, user ID's listed in the user's authorized_user_ids
  18. file are processed, and the user's authorized_keys file in
  19. /var/cache/monkeysphere/authorized_keys/USER. See `man monkeysphere'
  20. for more info. If the RAW_AUTHORIZED_KEYS variable is set, then a
  21. user-controlled authorized_keys file (usually
  22. ~USER/.ssh/authorized_keys) is added to the authorized_keys file. `u'
  23. may be used in place of `update-users.
  24. .TP
  25. .B gen-key
  26. Generate a gpg key pair for the host. `g' may be used in place of
  27. `gen-key'.
  28. .TP
  29. .B show-fingerprint
  30. Show the fingerprint for the host's OpenPGP key. `f' may be used in place of
  31. `show-fingerprint'.
  32. .TP
  33. .B publish-key
  34. Publish the host's gpg key to the keyserver. `p' may be used in place
  35. of `publish-key'.
  36. .TP
  37. .B add-certifier KEYID
  38. Add a certifier key to host keyring. The key with specified key ID
  39. will be retrieved from the keyserver and imported to the host keyring.
  40. It will then be given a non-exportable trust signature, with default
  41. depth of 1, so that the key may certifier users to log into the
  42. system. `a' may be used in place of `add-certifier'.
  43. .TP
  44. .B remove-certifier KEYID
  45. Remove a certifier key from the host keyring. The key with specified
  46. key ID will be removed entirely from the host keyring so that the key
  47. will not longer be able to certify users on the system. `r' may be
  48. used in place of `remove-certifier'.
  49. .TP
  50. .B list-certifiers KEYID
  51. Add key to certify system users. If LEVEL is not specified, then the program
  52. will prompt for an owner trust level to set for KEYID. This function
  53. lsigns the key as well so that it will have a known validity. `l' may
  54. be used in place of `list-certifiers'.
  55. .TP
  56. .B help
  57. Output a brief usage summary. `h' or `?' may be used in place of
  58. `help'.
  59. .SH SETUP
  60. In order to start using the monkeysphere, you must first generate an
  61. OpenPGP key for the server and convert that key to an ssh key that can
  62. be used by ssh for host authentication. To do this, run the "gen-key"
  63. subcommand to generate the host key pair:
  64. $ monkeysphere-server gen-key
  65. To enable host verification via the monkeysphere, you must then
  66. publish the host's key to the Web of Trust using the "publish-key"
  67. command to push the key to a keyserver. Then modify the sshd_config
  68. to tell sshd where the new server host key is located:
  69. HostKey /var/lib/monkeysphere/ssh_host_rsa_key
  70. For users logging into the system to be able to verify the host via
  71. the monkeysphere, at least one person (ie. a server admin) will need
  72. to sign the host's key. This is done in the same way that key signing
  73. is usually done, by pulling the host's key from the keyserver, signing
  74. the key, and re-publishing the signature. Once that is done, users
  75. logging into the host will be able to certify the host's key via the
  76. signature of the host admin.
  77. If the server will also handle user authentication through
  78. monkeysphere-generated authorized_keys files, the server must be told
  79. which keys will act as user certifiers. This is done with the
  80. "add-certifier" command:
  81. $ monkeysphere-server add-certifier KEYID
  82. where KEYID is the key ID of the server admin, or whoever's signature
  83. will be certifying users to the system. Certifiers can be later
  84. remove with the "remove-certifier" command, and listed with the
  85. "list-certifiers" command.
  86. Remote user's will then be granted access to a local user account
  87. based on the appropriately signed and valid keys associated with user
  88. IDs listed in the authorized_user_ids file of the local user. By
  89. default, the authorized_user_ids file for local users is found in
  90. ~/.config/monkeysphere/authorized_user_ids. This can be changed in
  91. the monkeysphere-server.conf file.
  92. The "update-users" command can then be used to generate
  93. authorized_keys file for local users that sshd can use to grant access
  94. to user accounts for remote users:
  95. $ monkeysphere-server update-users [USER]
  96. If no user is specified, authorized_keys files will be generated for
  97. all users on the system. You must also tell sshd to look at the
  98. monkeysphere-generated authorized_keys file for user authentication by
  99. setting the following in the sshd_config:
  100. AuthorizedKeysFile /var/lib/monkeysphere/authorized_keys/%u
  101. It is recommended to add "monkeysphere-server update-users" to a
  102. system crontab, so that user keys are kept up-to-date, and key
  103. revokations and expirations can be processed in a timely manor.
  104. .SH FILES
  105. .TP
  106. /etc/monkeysphere/monkeysphere-server.conf
  107. System monkeysphere-server config file.
  108. .TP
  109. /etc/monkeysphere/monkeysphere.conf
  110. System-wide monkeysphere config file.
  111. .TP
  112. /var/lib/monkeysphere/authorized_keys/USER
  113. Monkeysphere-generated user authorized_keys files.
  114. .TP
  115. /var/lib/monkeysphere/ssh_host_rsa_key
  116. Copy of the host's private key in ssh format, suitable for use by
  117. sshd.
  118. .TP
  119. /var/lib/monkeysphere/gnupg-host
  120. Monkeysphere host GNUPG home directory.
  121. .TP
  122. /var/lib/monkeysphere/gnupg-authentication
  123. Monkeysphere authentication GNUPG home directory.
  124. .SH AUTHOR
  125. Written by Jameson Rollins <jrollins@fifthhorseman.net>
  126. .SH SEE ALSO
  127. .BR monkeysphere (1),
  128. .BR gpg (1),
  129. .BR ssh (1)