总览 (SYNOPSIS)

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

描述 (DESCRIPTION)

用来掌管公开密钥认证系统(RSA, DSA)中的私钥. 这个概念源于让在 X 会话或登录会话之初启动, 使其他窗口或程序成为的客户. 当它们用 ssh(1) 登录其他机器的时候, 可以通过环境变量找到代理程序, 并自动进行认证.

可用的选项有:

-a bind_address
把代理和 UNIX 域 socket bind_address 绑定. 默认地址是 /tmp/ssh-XXXXXXXX/agent.<ppid>
-c
stdout 上输出 C-shell 命令. 如果 SHELL 看上去象一个 csh 类型的 shell, 这个就成为默认项.
-s
stdout 上输出 Bourne shell 命令. 如果 SHELL 看上去不象一个 csh 类型的 shell, 这个就成为默认项.
-k
结束当前代理 (由 SSH_AGENT_PID 环境变量给出).
-t life
设置最大生命周期的默认值, 用于加入的身份数据. 生命周期以秒为单位, 也可以用 sshd(8) 中规定的时间格式. 用 ssh-add1 向代理添加身份数据时, 可以指定另一个生命周期, 而不用这个默认值. 不使用这个选项时, 默认的最大生命周期是永恒.
-d
调试模式. 指定这个选项后, 不进行 fork.

如果给出命令行, 它将按代理的子进程运行. 命令结束时, 代理也结束.

代理最初不掌握任何私钥. 密钥通过 ssh-add1 加入. 不带参数运行 ssh-add1 时, 它添加 $HOME/.ssh/id_rsa $HOME/.ssh/id_dsa 和 $HOME/.ssh/identity 文件的内容. 如果身份数据需要用密语访问, ssh-add1 将询问这个密语 (X11 下用一个小程序, 没有 X 则从终端读取), 然后把身份数据送往代理. 代理能够保存多个身份数据, 并且自动使用这些数据. ssh-add -l 命令显示出目前代理掌管的身份数据.

这个方式的设想是, 在用户的本地 PC, 笔记本计算机, 或终端上运行代理程序. 认证数据无须保存在其他任何机器上, 而认证的密语决不通过网络传递. 但是, 和代理的连接通过 SSH 远程登录被转发, 因而用户能够在网络的任何地方安全行使与其身份一致的权利.

设置代理程序有两个主要方法: 或者让代理启动一个子命令输出某些环境变量; 或者让代理程序输出所需的 shell 命令 ( sh(1) 或 csh(1) 语法都能够产生). 之后 ssh(1) 获取这些变量, 据此和代理建立连接.

代理程序决不会在请求的通道中传送私钥, 需要私钥的操作将由代理完成, 然后把结果返回给请求者. 这样使用代理就不会把私钥暴露给客户端.

程序将创建一个 UNIX 域的 socket, 它只让当前用户访问, SSH_AUTH_SOCK 环境变量保存这个 socket 的名字. 这个方法容易被 root 用户或当前用户的不同实例滥用.

SSH_AGENT_PID 环境变量保存着代理程序的 PID.

当在命令行上给出的命令结束时, 代理程序也就自动退出.

文件 (FILES)

$HOME/.ssh/identity
内含用户的协议第一版的 RAS 身份数据.
$HOME/.ssh/id_dsa
内含用户的协议第二版的 DSA 身份数据.
$HOME/.ssh/id_rsa
内含用户的协议第二版的 RAS 身份数据.
/tmp/ssh-XXXXXXXX/agent.<ppid>
Unix 域 socket, 包含和认证代理的连接. 这些 socket 只允许它们的拥有者读取. 代理程序退出时自动删除这些 socket.  

ssh-agent - 认证代理的更多相关文章

  1. ssh-add - 向认证代理添加 RSA 或 DSA 身份数据

    总览 (SYNOPSIS) ssh-add [-lLdDx ] [-t life ] [file ... ] ssh-add -s reader ssh-add -e reader 描述 (DESCR ...

  2. jenkins 2:用ssh agent插件在pipeline里实现scp和远程执行命令

    昨晚测试成功了. 现在ssh agent的认证,已不支持明文用户密码,而只能用加密方式实现. 所以我先在jenknis和nginx服务器之后,实现ssh免密码rsa证书登陆. 私钥放jenkins,公 ...

  3. 转: SSH 公钥认证

    转: http://blog.knownsec.com/2012/05/ssh-%E5%85%AC%E9%92%A5%E8%AE%A4%E8%AF%81/ SSH 公钥认证 2012-05-15 简介 ...

  4. SSH agent 的使用 - 资料摘录

    下面是一些ssh agent的资料简要摘录,网路上的相关的文章已经很多了: ssh 推荐的登录方式是使用私钥登录.但是如果生成私钥的时候,设置了口令(passphrase),每次登录时需要输入口令也很 ...

  5. SSH公钥认证+优化

    一 ssh公钥认证流程: sshclinet机器:产生公私钥(公钥相当于一把锁) sshclient:将公钥发给sshserver(抛出锁子) sshclinet去连sshserver不需要密钥   ...

  6. Linux配置SSH公钥认证与Jenkins远程登录进行自动发布

    公钥认证,是使用一对加密字符串,一个称为公钥(public key), 任何人都可以看到其内容,用于加密:另一个称为密钥(private key),只有拥有者才能看到,用于解密. 在使用jenkins ...

  7. ssh公钥认证原理及设置root外的其他用户登录ssh

    1)创建其他用户 useradd [-d 登录目录] [-G ssh][用户名]  一定要将用户添加到ssh组不然无法没有权限登录ssh 2)设置ssh不允许root登录 vi /etc/ssh/ss ...

  8. 一次由SELinux引起的ssh公钥认证失败问题

    一直使用CentOS作为服务器系统,平时装完系统以后都是建立publickey认证机制,然后关闭密码认证.原本是一件轻车熟路毫无压力的事情,不想前日新装一台机器按照正常配置以后居然使用publicke ...

  9. Linux之SSH密钥认证

    1.SSH协议的认识 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是目前 ...

随机推荐

  1. vue @import css

    @import '~@/assets/scss/helpers/_mixin'; 原理:CSS loader 会把把非根路径的url解释为相对路径, 加~前缀才会解释成模块路径.

  2. bootstrap模态框模板代码

    模态框模板 模板代码 <!-- 添加员工的模态框 start --> <div class="modal fade" id="empAddModal&q ...

  3. 各种math函数

    fabs()绝对值函数 #include<stdio.h> #include<math.h> int main(){ double db=-12.56; printf(&quo ...

  4. luogu P1047 校门外的树 x

    P1047 校门外的树 题目描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置:数轴上的每个整数点,即0 ...

  5. UE4-PS4开发渲染线程优化方法及记录

    先说方法: Launch 到 PS4 Devkit上,在PS4上输入Stat unit 看瓶颈在哪里.我们发现Frame 和Draw数值几乎一样,其余两项相对较小,这表明瓶颈在渲染线程上. 关于渲染线 ...

  6. scrapy之Request对象

    我们在使用scrapy框架的时候,会经常疑惑,数据流是怎么样在各个组件中间传递的.最近经常用scrapy+selenium爬取淘宝,又因为今天周五心情好,本宝宝决定梳理一下这方面知识. scrapy中 ...

  7. (转)pycharm autopep8配置

    转:https://blog.csdn.net/BobYuan888/article/details/81943808 1.pip下载安装: 在命令行下输入以下命令安装autopep8 pip ins ...

  8. ICMP(Internet Control Message Protocol)网际控制报文协议初识

    ICMP是(Internet Control Message Protocol)Internet控制报文协议.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消息.控制消息是指网 ...

  9. 关于线段树or 树状树状 在二维平面搞事情!Orz

    第一式:https://ac.nowcoder.com/acm/contest/143/I 题意: 有 n 个点,一个点集 S 是好的,当且仅当对于他的每个子集 T,存在一个右边无限长的矩形,使得这个 ...

  10. jQuery FileUpload doesn't trigger 'done'

     https://stackoverflow.com/questions/14674999/jquery-fileupload-doesnt-trigger-done   If your server ...