ssh-keyman.pod 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  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. [B<-i>]
  39. [I<keyfile> ...]
  40. B<ssh-keyman>
  41. B<-h>
  42. B<-v>
  43. =head1 DESCRIPTION
  44. B<ssh-keyman> is a frontend to the B<ssh-agent> and B<ssh-add> commands
  45. for managing a long-running B<ssh-agent> process. The idea is that
  46. a single B<ssh-agent> process is kept persistently running across
  47. multiple user login sessions in order to prevent the startup of multiple
  48. B<ssh-agent> processes and to avoid having to enter pass-phrases more
  49. often than really necessary from a security point of view.
  50. The command line options can be combined and are executed internally in
  51. the given order below.
  52. =over 4
  53. =item B<-q>, B<--quiet>
  54. Quiet operation. Do not print verbose messages.
  55. =item B<-c>, B<--cluster>
  56. Cluster indicator. This forces the use of
  57. B<$HOME/.ssh/agent->I<hostname> as the agent attachment informations
  58. file instead of the default B<$HOME/.ssh/agent>. Use this if your home
  59. directory is NFS-mounted on a cluster of desktops.
  60. =item B<-k>, B<--kill>
  61. Kill agent. This makes sure the B<ssh-agent> process
  62. is no longer running.
  63. =item B<-s>, B<--start>
  64. Start agent. This makes sure the B<ssh-agent> process is
  65. running. If not, it automatically spawns a new one.
  66. =item B<-e>, B<--env>
  67. Environment setup. This outputs to F<stdout> the Bourne-Shell commands
  68. necessary to attach the current shell session to the B<ssh-agent>
  69. process. The intended usage is "C<eval `B<ssh-keyman> -q -e -s`>" from
  70. within B<$HOME/.xsession> or B<$HOME/.bash_login> scripts.
  71. =item B<-d>, B<--delete>
  72. Delete key. This deletes one or more (or all if not I<keyfile> arguments
  73. are specified at all) from the B<ssh-agent> process.
  74. =item B<-a>, B<--add>
  75. Add key. This adds one or more keys (in I<keyfile>) to the B<ssh-agent>
  76. process. If a key is already loaded, it is skipped and not reloaded.
  77. Additionally, all specified keys are loaded with a single B<ssh-add>
  78. call. This way the pass-phrase dialog is reduced to its possible
  79. minimum.
  80. =item B<-l>, B<--list>
  81. List keys. This lists the currently available keys in the B<ssh-agent>
  82. process.
  83. =item B<-i>, B<--install>
  84. Install public keys into remote account. This extracts the currently available public keys in the B<ssh-agent>
  85. process and installs them into "C<~/.ssh/authorized_keys>" on a specified remote account.
  86. =item B<-h>, B<--help>
  87. Help information. Display a usage summary on F<stdout>.
  88. =item B<-v>, B<--version>
  89. Version information. Display a version summary on F<stdout>.
  90. =back
  91. =head1 EXAMPLE
  92. F<.xsession>:
  93. eval `ssh-keyman -q -s -e`
  94. ssh-keyman -q -a </dev/null ~/.ssh/id_rsa ~/.ssh/id_dsa
  95. F<.bash_login>:
  96. eval `ssh-keyman -q -s -e`
  97. =head1 FILES
  98. =over 4
  99. =item B<$HOME/.ssh/agent>
  100. The generated shell script for attaching the current shell
  101. session (and all of its sub-processes) to the B<ssh-agent> process.
  102. At any time this can be directly sourced from within the shell session
  103. or indirectly through the B<ssh-keyman> B<-e> option.
  104. This file is used if the cluster option B<-c> is not used.
  105. =item B<$HOME/.ssh/agent->I<hostname>
  106. The generated shell script for attaching the current shell
  107. session (and all of its sub-processes) to the B<ssh-agent> process.
  108. At any time this can be directly sourced from within the shell session
  109. or indirectly through the B<ssh-keyman> B<-e> option.
  110. This file is used if the cluster option B<-c> is used.
  111. =back
  112. =head1 SEE ALSO
  113. B<ssh-agent>(1), B<ssh-add>(1).
  114. =head1 HISTORY
  115. B<ssh-keyman> was written in May 2002 by Ralf S. Engelschall
  116. E<lt>rse@engelschall.comE<gt>. It was inspired by the similar program
  117. B<keychain> from Daniel Robbins E<lt>drobbins@gentoo.orgE<gt>. The main
  118. difference between B<keychain> and B<ssh-keyman> is that B<ssh-keyman>
  119. uses a more orthogonal interface which even allows you to combine
  120. multiple actions into a single call.
  121. =cut