You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

172 lines
5.0 KiB

##
## ssh-keyman -- authentication key agent management
## Copyright (c) 2002-2003 Ralf S. Engelschall <rse@engelschall.com>
##
## Permission to use, copy, modify, and distribute this software for
## any purpose with or without fee is hereby granted, provided that
## the above copyright notice and this permission notice appear in all
## copies.
##
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
## SUCH DAMAGE.
##
## ssh-keyman.pod: Unix manual page (language: POD)
##
=pod
=head1 NAME
B<ssh-keyman> - authentication key agent management
=head1 SYNOPSIS
B<ssh-keyman>
[B<-q>]
[B<-c>]
[B<-k>]
[B<-s>]
[B<-e>]
[B<-d>]
[B<-a>]
[B<-l>]
[B<-i>]
[I<keyfile> ...]
B<ssh-keyman>
B<-h>
B<-v>
=head1 DESCRIPTION
B<ssh-keyman> is a frontend to the B<ssh-agent> and B<ssh-add> commands
for managing a long-running B<ssh-agent> process. The idea is that
a single B<ssh-agent> process is kept persistently running across
multiple user login sessions in order to prevent the startup of multiple
B<ssh-agent> processes and to avoid having to enter pass-phrases more
often than really necessary from a security point of view.
The command line options can be combined and are executed internally in
the given order below.
=over 4
=item B<-q>, B<--quiet>
Quiet operation. Do not print verbose messages.
=item B<-c>, B<--cluster>
Cluster indicator. This forces the use of
B<$HOME/.ssh/agent->I<hostname> as the agent attachment informations
file instead of the default B<$HOME/.ssh/agent>. Use this if your home
directory is NFS-mounted on a cluster of desktops.
=item B<-k>, B<--kill>
Kill agent. This makes sure the B<ssh-agent> process
is no longer running.
=item B<-s>, B<--start>
Start agent. This makes sure the B<ssh-agent> process is
running. If not, it automatically spawns a new one.
=item B<-e>, B<--env>
Environment setup. This outputs to F<stdout> the Bourne-Shell commands
necessary to attach the current shell session to the B<ssh-agent>
process. The intended usage is "C<eval `B<ssh-keyman> -q -e -s`>" from
within B<$HOME/.xsession> or B<$HOME/.bash_login> scripts.
=item B<-d>, B<--delete>
Delete key. This deletes one or more (or all if not I<keyfile> arguments
are specified at all) from the B<ssh-agent> process.
=item B<-a>, B<--add>
Add key. This adds one or more keys (in I<keyfile>) to the B<ssh-agent>
process. If a key is already loaded, it is skipped and not reloaded.
Additionally, all specified keys are loaded with a single B<ssh-add>
call. This way the pass-phrase dialog is reduced to its possible
minimum.
=item B<-l>, B<--list>
List keys. This lists the currently available keys in the B<ssh-agent>
process.
=item B<-i>, B<--install>
Install public keys into remote account. This extracts the currently available public keys in the B<ssh-agent>
process and installs them into "C<~/.ssh/authorized_keys>" on a specified remote account.
=item B<-h>, B<--help>
Help information. Display a usage summary on F<stdout>.
=item B<-v>, B<--version>
Version information. Display a version summary on F<stdout>.
=back
=head1 EXAMPLE
F<.xsession>:
eval `ssh-keyman -q -s -e`
ssh-keyman -q -a </dev/null ~/.ssh/id_rsa ~/.ssh/id_dsa
F<.bash_login>:
eval `ssh-keyman -q -s -e`
=head1 FILES
=over 4
=item B<$HOME/.ssh/agent>
The generated shell script for attaching the current shell
session (and all of its sub-processes) to the B<ssh-agent> process.
At any time this can be directly sourced from within the shell session
or indirectly through the B<ssh-keyman> B<-e> option.
This file is used if the cluster option B<-c> is not used.
=item B<$HOME/.ssh/agent->I<hostname>
The generated shell script for attaching the current shell
session (and all of its sub-processes) to the B<ssh-agent> process.
At any time this can be directly sourced from within the shell session
or indirectly through the B<ssh-keyman> B<-e> option.
This file is used if the cluster option B<-c> is used.
=back
=head1 SEE ALSO
B<ssh-agent>(1), B<ssh-add>(1).
=head1 HISTORY
B<ssh-keyman> was written in May 2002 by Ralf S. Engelschall
E<lt>rse@engelschall.comE<gt>. It was inspired by the similar program
B<keychain> from Daniel Robbins E<lt>drobbins@gentoo.orgE<gt>. The main
difference between B<keychain> and B<ssh-keyman> is that B<ssh-keyman>
uses a more orthogonal interface which even allows you to combine
multiple actions into a single call.
=cut