version 1.24, 2001/04/10 09:13:21 |
version 1.24.2.2, 2002/03/09 00:20:45 |
|
|
.Nd authentication agent |
.Nd authentication agent |
.Sh SYNOPSIS |
.Sh SYNOPSIS |
.Nm ssh-agent |
.Nm ssh-agent |
.Ar command |
|
.Ar args ... |
|
.Nm ssh-agent |
|
.Op Fl c Li | Fl s |
.Op Fl c Li | Fl s |
|
.Op Fl d |
|
.Op Ar command Op Ar args ... |
.Nm ssh-agent |
.Nm ssh-agent |
|
.Op Fl c Li | Fl s |
.Fl k |
.Fl k |
.Sh DESCRIPTION |
.Sh DESCRIPTION |
.Nm |
.Nm |
|
|
Kill the current agent (given by the |
Kill the current agent (given by the |
.Ev SSH_AGENT_PID |
.Ev SSH_AGENT_PID |
environment variable). |
environment variable). |
|
.It Fl d |
|
Debug mode. When this option is specified |
|
.Nm |
|
will not fork. |
.El |
.El |
.Pp |
.Pp |
If a commandline is given, this is executed as a subprocess of the agent. |
If a commandline is given, this is executed as a subprocess of the agent. |
|
|
.Xr ssh-add 1 . |
.Xr ssh-add 1 . |
When executed without arguments, |
When executed without arguments, |
.Xr ssh-add 1 |
.Xr ssh-add 1 |
adds the |
adds the files |
.Pa $HOME/.ssh/identity |
.Pa $HOME/.ssh/id_rsa , |
file. |
.Pa $HOME/.ssh/id_dsa |
|
and |
|
.Pa $HOME/.ssh/identity . |
If the identity has a passphrase, |
If the identity has a passphrase, |
.Xr ssh-add 1 |
.Xr ssh-add 1 |
asks for the passphrase (using a small X11 application if running |
asks for the passphrase (using a small X11 application if running |
|
|
identities anywhere in the network in a secure way. |
identities anywhere in the network in a secure way. |
.Pp |
.Pp |
There are two main ways to get an agent setup: |
There are two main ways to get an agent setup: |
Either you let the agent |
Either the agent starts a new subcommand into which some environment |
start a new subcommand into which some environment variables are exported, or |
variables are exported, or the agent prints the needed shell commands |
you let the agent print the needed shell commands (either |
(either |
.Xr sh 1 |
.Xr sh 1 |
or |
or |
.Xr csh 1 |
.Xr csh 1 |
|
|
.Xr ssh 1 |
.Xr ssh 1 |
looks at these variables and uses them to establish a connection to the agent. |
looks at these variables and uses them to establish a connection to the agent. |
.Pp |
.Pp |
|
The agent will never send a private key over its request channel. |
|
Instead, operations that require a private key will be performed |
|
by the agent, and the result will be returned to the requester. |
|
This way, private keys are not exposed to clients using the agent. |
|
.Pp |
A unix-domain socket is created |
A unix-domain socket is created |
.Pq Pa /tmp/ssh-XXXXXXXX/agent.<pid> , |
.Pq Pa /tmp/ssh-XXXXXXXX/agent.<pid> , |
and the name of this socket is stored in the |
and the name of this socket is stored in the |
|
|
.Bl -tag -width Ds |
.Bl -tag -width Ds |
.It Pa $HOME/.ssh/identity |
.It Pa $HOME/.ssh/identity |
Contains the protocol version 1 RSA authentication identity of the user. |
Contains the protocol version 1 RSA authentication identity of the user. |
This file should not be readable by anyone but the user. |
|
It is possible to |
|
specify a passphrase when generating the key; that passphrase will be |
|
used to encrypt the private part of this file. |
|
This file is not used by |
|
.Nm |
|
but is normally added to the agent using |
|
.Xr ssh-add 1 |
|
at login time. |
|
.It Pa $HOME/.ssh/id_dsa |
.It Pa $HOME/.ssh/id_dsa |
Contains the protocol version 2 DSA authentication identity of the user. |
Contains the protocol version 2 DSA authentication identity of the user. |
.It Pa $HOME/.ssh/id_rsa |
.It Pa $HOME/.ssh/id_rsa |