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
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 |
|
|
|
|