summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/ssh-agent.1
diff options
context:
space:
mode:
authormarkus <markus@openbsd.org>1999-10-28 08:43:10 +0000
committermarkus <markus@openbsd.org>1999-10-28 08:43:10 +0000
commit7ed20af2be2cbdd1b5d233ab6306c2a8d9f72096 (patch)
treef0fd17bdc60d22b7e87261bc7f1b22290b643ae9 /usr.bin/ssh/ssh-agent.1
parentnamedb moved from /etc to /var (diff)
downloadwireguard-openbsd-7ed20af2be2cbdd1b5d233ab6306c2a8d9f72096.tar.xz
wireguard-openbsd-7ed20af2be2cbdd1b5d233ab6306c2a8d9f72096.zip
from niklas: Add -c -s and -k support, Create socket early to avoid race,
Don't let child access std{in,out,err}
Diffstat (limited to 'usr.bin/ssh/ssh-agent.1')
-rw-r--r--usr.bin/ssh/ssh-agent.161
1 files changed, 50 insertions, 11 deletions
diff --git a/usr.bin/ssh/ssh-agent.1 b/usr.bin/ssh/ssh-agent.1
index 286c9d94d61..8b9504fa5f5 100644
--- a/usr.bin/ssh/ssh-agent.1
+++ b/usr.bin/ssh/ssh-agent.1
@@ -1,16 +1,16 @@
+.\" $OpenBSD: ssh-agent.1,v 1.7 1999/10/28 08:43:10 markus Exp $
+.\"
.\" -*- nroff -*-
.\"
.\" ssh-agent.1
.\"
.\" Author: Tatu Ylonen <ylo@cs.hut.fi>
-.\"
+pp.\"
.\" Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
.\" All rights reserved
.\"
.\" Created: Sat Apr 23 20:10:43 1995 ylo
.\"
-.\" $Id: ssh-agent.1,v 1.6 1999/10/17 00:31:06 deraadt Exp $
-.\"
.Dd September 25, 1999
.Dt SSH-AGENT 1
.Os
@@ -19,22 +19,47 @@
.Nd authentication agent
.Sh SYNOPSIS
.Nm ssh-agent
+.Op Fl c Li | Fl s
+.Op Fl k
+.Oo
.Ar command
+.Op Ar args ...
+.Oc
.Sh DESCRIPTION
.Nm
is a program to hold authentication private keys. The
idea is that
.Nm
is started in the beginning of an X-session or a login session, and
-all other windows or programs are started as children of the ssh-agent
-program (the
-.Ar command
-normally starts X or is the user shell). Programs started under
-the agent inherit a connection to the agent, and the agent is
-automatically used for RSA authentication when logging to other
+all other windows or programs are started as clients to the ssh-agent
+program. Through use of environment variables the agent can be located
+and automatically used for RSA authentication when logging in to other
machines using
.Xr ssh 1 .
.Pp
+The options are as follows:
+.Bl -tag -width Ds
+.It Fl c
+Generate C-shell commands on
+.Dv stdout .
+This is the default if
+.Ev SHELL
+looks like it's a csh style of shell.
+.It Fl s
+Generate Bourne shell commands on
+.Dv stdout .
+This is the default if
+.Ev SHELL
+does not look like it's a csh style of shell.
+.It Fl k
+Kill the current agent (given by the
+.Ev SSH_AGENT_PID
+environment variable).
+.El
+.Pp
+If a commandline is given, this is executed as a subprocess of the agent.
+When the command dies, so does the agent.
+.Pp
The agent initially does not have any private keys. Keys are added
using
.Xr ssh-add 1 .
@@ -58,9 +83,19 @@ However, the connection to the agent is forwarded over SSH
remote logins, and the user can thus use the privileges given by the
identities anywhere in the network in a secure way.
.Pp
-A connection to the agent is inherited by child programs:
+There are two main ways to get an agent setup: Either you let the agent
+start a new subcommand into which some environment variables are exported, or
+you let the agent print the needed shell commands (either
+.Xr sh 1
+or
+.Xr csh 1
+syntax can be generated) which can be evalled in the calling shell.
+Later
+.Xr ssh 1
+look at these variables and use them to establish a connection to the agent.
+.Pp
A unix-domain socket is created
-.Pq Pa /tmp/ssh-XXXX/agent.<pid> ,
+.Pq Pa /tmp/ssh-XXXXXXXX/agent.<pid> ,
and the name of this socket is stored in the
.Ev SSH_AUTH_SOCK
environment
@@ -68,6 +103,10 @@ variable. The socket is made accessible only to the current user.
This method is easily abused by root or another instance of the same
user.
.Pp
+The
+.Ev SSH_AGENT_PID
+environment variable holds the agent's PID.
+.Pp
The agent exits automatically when the command given on the command
line terminates.
.Sh FILES