手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

ssh-agent(1)

名称

ssh-agent - 验证代理

用法概要

ssh-agent [-a bind_address] [-c | -s ] [-d] 
     [-t life] [command [args]...]
ssh-agent [-c | -s] -k

描述

ssh-agent 是一个用于保存公钥验证(RSA、DSA)所使用的私钥的程序。ssh-agent 通常在登录会话开始时启动。所有其他窗口或程序作为 ssh-agent 程序的客户机启动。通过使用环境变量,可在使用 ssh(1) 登录到其他计算机时查找代理并自动使用代理进行验证。请参见在 Oracle Solaris 11.2 中确保系统和连接设备的安全

如果在命令行上指定了命令,该命令将作为代理的子进程执行。命令终止时,代理也随之终止。

最初,代理没有任何私钥。密钥是使用 ssh-add(1) 添加的,此命令将标识发送给代理。一些标识可以存储在代理中;代理可以自动使用其中的任何标识。在 ssh-add(1) 中使用 –l 选项可显示代理当前拥有的标识。

代理在用户的本地主机中运行。验证数据不需要存储在任何其他计算机上,验证口令短语也决不会通过网络传输。但是,如果与代理的连接是通过 SSH 远程登录转发的,用户可以在网络中的任何位置安全地使用标识赋予的特权。

获取代理设置主要有两种方式。您可以使代理启动一个新的子命令,将某些环境变量导出到该子命令中,或者令代理输出所需的 shell 命令(可以生成 sh(1)csh(1) 语法样式),之后可以在调用方 shell 中通过 eval 显示这些命令的结果。稍后,可使用 ssh(1) 查看这些变量并使用这些变量与代理建立连接。

将创建 Unix 域套接字 (/tmp/ssh-XXXXXXXX/agent.pid) 并该套接字的名称将存储在 SSH_AUTH_SOCK 环境变量中。只有当前用户可访问该套接字。此方法很容易被 root 用户或同一用户的另一实例错误使用。

SSH_AGENT_PID 环境变量保存代理的 PID。

在命令行上指定的命令终止时,代理将自动退出。

选项

支持以下选项:

–a bind_address

将代理绑定到 Unix 域套接字 bind_address。缺省值是 /tmp/ssh-XXXXXXXX/agent.pid

–c

在 stdout 上生成 C-shell 命令。如果 SHELL 指出它为 csh 样式的 shell,此选项将为缺省值。

–d

调试模式。指定此选项时,ssh-agent 不执行派生。

–k

中止当前代理(由 SSH_AGENT_PID 环境变量指定)。

–s

在 stdout 上生成 Bourne shell 命令。如果 SHELL 未指出它为 csh 样式的 shell,此选项将为缺省值。

–t life

为添加到代理的标识设置最大生命周期 (life) 缺省值。life 可以按秒为单位指定或使用 sshd_config(4) 中指定的时间格式指定。使用 ssh-add(1) 为标识指定的 life 可覆盖此值。如果不指定此选项,则缺省的最大生命周期 (life) 为永久。

退出状态

将返回以下退出值:

0

成功完成。

1

出现错误。

文件

/tmp/ssh-XXXXXXXX/agent.pid

用于包含验证代理连接的 Unix 域套接字。这些套接字应仅供所有者读取。代理退出时,将删除套接字。

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
network/ssh
接口稳定性
Committed(已确定)

另请参见

ssh(1)ssh-add(1)ssh-keygen(1)sshd(1M)sshd_config(4)attributes(5)

在 Oracle Solaris 11.2 中确保系统和连接设备的安全