ssh-keyman.pod 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. ##
  2. ## ssh-keyman -- authentication key agent management
  3. ## Copyright (c) 2002-2003 Ralf S. Engelschall <rse@engelschall.com>
  4. ##
  5. ## Permission to use, copy, modify, and distribute this software for
  6. ## any purpose with or without fee is hereby granted, provided that
  7. ## the above copyright notice and this permission notice appear in all
  8. ## copies.
  9. ##
  10. ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  11. ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  12. ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  13. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  14. ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  15. ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  16. ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  17. ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  18. ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  19. ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  20. ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  21. ## SUCH DAMAGE.
  22. ##
  23. ## ssh-keyman.pod: Unix manual page (language: POD)
  24. ##
  25. =pod
  26. =head1 NAME
  27. B<ssh-keyman> - authentication key agent management
  28. =head1 SYNOPSIS
  29. B<ssh-keyman>
  30. [B<-q>]
  31. [B<-c>]
  32. [B<-k>]
  33. [B<-s>]
  34. [B<-e>]
  35. [B<-d>]
  36. [B<-a>]
  37. [B<-l>]
  38. [I<keyfile> ...]
  39. B<ssh-keyman>
  40. B<-h>
  41. B<-v>
  42. =head1 DESCRIPTION
  43. B<ssh-keyman> is a frontend to the B<ssh-agent> and B<ssh-add> commands
  44. for managing a long-running B<ssh-agent> process. The idea is that
  45. a single B<ssh-agent> process is kept persistently running across
  46. multiple user login sessions in order to prevent the startup of multiple
  47. B<ssh-agent> processes and to avoid having to enter pass-phrases more
  48. often than really necessary from a security point of view.
  49. The command line options can be combined and are executed internally in
  50. the given order below.
  51. =over 4
  52. =item B<-q>, B<--quiet>
  53. Quiet operation. Do not print verbose messages.
  54. =item B<-c>, B<--cluster>
  55. Cluster indicator. This forces the use of
  56. B<$HOME/.ssh/agent->I<hostname> as the agent attachment informations
  57. file instead of the default B<$HOME/.ssh/agent>. Use this if your home
  58. directory is NFS-mounted on a cluster of desktops.
  59. =item B<-k>, B<--kill>
  60. Kill agent. This makes sure the B<ssh-agent> process
  61. is no longer running.
  62. =item B<-s>, B<--start>
  63. Start agent. This makes sure the B<ssh-agent> process is
  64. running. If not, it automatically spawns a new one.
  65. =item B<-e>, B<--env>
  66. Environment setup. This outputs to F<stdout> the Bourne-Shell commands
  67. necessary to attach the current shell session to the B<ssh-agent>
  68. process. The intended usage is "C<eval `B<ssh-keyman> -q -e -s`>" from
  69. within B<$HOME/.xsession> or B<$HOME/.bash_login> scripts.
  70. =item B<-d>, B<--delete>
  71. Delete key. This deletes one or more (or all if not I<keyfile> arguments
  72. are specified at all) from the B<ssh-agent> process.
  73. =item B<-a>, B<--add>
  74. Add key. This adds one or more keys (in I<keyfile>) to the B<ssh-agent>
  75. process. If a key is already loaded, it is skipped and not reloaded.
  76. Additionally, all specified keys are loaded with a single B<ssh-add>
  77. call. This way the pass-phrase dialog is reduced to its possible
  78. minimum.
  79. =item B<-l>, B<--list>
  80. List keys. This lists the currently available keys in the B<ssh-agent>
  81. process.
  82. =item B<-h>, B<--help>
  83. Help information. Display a usage summary on F<stdout>.
  84. =item B<-v>, B<--version>
  85. Version information. Display a version summary on F<stdout>.
  86. =back
  87. =head1 EXAMPLE
  88. F<.xsession>:
  89. eval `ssh-keyman -q -s -e`
  90. ssh-keyman -q -a </dev/null \
  91. ~/.ssh/id_rsa_1 \
  92. ~/.ssh/id_rsa_2 \
  93. ~/.ssh/id_rsa_3
  94. F<.bash_login>:
  95. eval `ssh-keyman -q -s -e`
  96. =head1 FILES
  97. =over 4
  98. =item B<$HOME/.ssh/agent>
  99. The generated shell script for attaching the current shell
  100. session (and all of its sub-processes) to the B<ssh-agent> process.
  101. At any time this can be directly sourced from within the shell session
  102. or indirectly through the B<ssh-keyman> B<-e> option.
  103. This file is used if the cluster option B<-c> is not used.
  104. =item B<$HOME/.ssh/agent->I<hostname>
  105. The generated shell script for attaching the current shell
  106. session (and all of its sub-processes) to the B<ssh-agent> process.
  107. At any time this can be directly sourced from within the shell session
  108. or indirectly through the B<ssh-keyman> B<-e> option.
  109. This file is used if the cluster option B<-c> is used.
  110. =back
  111. =head1 SEE ALSO
  112. B<ssh-agent>(1), B<ssh-add>(1).
  113. =head1 HISTORY
  114. B<ssh-keyman> was written in May 2002 by Ralf S. Engelschall
  115. E<lt>rse@engelschall.comE<gt>. It was inspired by the similar program
  116. B<keychain> from Daniel Robbins E<lt>drobbins@gentoo.orgE<gt>. The main
  117. difference between B<keychain> and B<ssh-keyman> is that B<ssh-keyman>
  118. uses a more orthogonal interface which even allows you to combine
  119. multiple actions into a single call.
  120. =cut