文章目录

  • 1.命令简介
  • 2.使用场景
  • 3.命令格式
  • 4.选项说明
  • 5.常用示例
  • 参考文献

1.命令简介

ssh-agent 是 OpenSSH 认 证代理。

sh-agent是一个用于保存公钥认证过程中用到的私钥的程序。ssh-agent 在 X 会话或登录会话之初启动,所有其他窗口或程序则以 ssh-agent 客户端程序的身份启动。当使用 ssh(1) 登录到其他机器时,可通过环境变量定位到代理并使用代理自动进行身份验证。

其实 ssh-agent 就是一个密钥管理器,运行 ssh-agent 以后,使用 ssh-add 将私钥交给 ssh-agent 保管,其他程序需要身份验证的时候可以将验证申请交给 ssh-agent 来完成整个认证过程。

2.使用场景

使用不同的密钥连接到不同的主机时,需要手动指定对应的密钥。ssh-agent 可以帮助我们选择对应的密钥进行认证,不用手动指定密钥即可进行连接。

当私钥设置了密码,我们又需要频繁的使用私钥进行认证时,ssh-agent 可以帮助我们免去重复的输入密码的操作。

3.命令格式

ssh-agent [-c | -s] [-Dd] [-a bind_address] [-E fingerprint_hash] [-P allowed_providers] [-t life]
ssh-agent [-a bind_address] [-E fingerprint_hash] [-P allowed_providers] [-t life] command [arg ...]
ssh-agent [-c | -s] -k

4.选项说明

-a <bind_address>将 agent 绑定到 Unix 域套接字地址。缺省 $TMPDIR/ssh-XXXXXXXXXX/agent.<ppid>。
-c生成 C-shell 风格的命令输出。
-D前台模式。当指定此选项时,ssh-agent 将不进行 fork。
-d调试模式。
-E <fingerprint_hash>指定显示密钥指纹时使用的哈希算法。有效选项为 md5 和 sha256。默认值为 sha256。
-k把 ssh-agent 进程杀掉(由环境变量 SSH_AGENT_PID 给出 PID)。
-P <allowed_providers>为 PKCS#11 提供程序和 FIDO 身份验证器中间件共享库指定可接受路径的模式列表,这些共享库可以与 ssh-add(1) 的 -S 或 -S 选项一起使用。与模式列表不匹配的库将被拒绝。有关模式列表语法的描述,请参见 ssh_config(5) 中的 PATTERNS。默认列表为“/usr/lib/*,/usr/local/lib/*”。
-s生成 Bourne shell 风格的命令输出。
-t <life>为添加到代理的标识的最大生存期设置一个默认值。生存期可以以秒或 sshd_config(5) 中指定的时间格式指定。使用 ssh-add(1) 为标识指定的生存期将覆盖此值。如果没有这个选项,默认的最大生存期是永远。
command [arg ...]如果给出了命令(和可选参数),它将作为代理的子进程执行。当命令行上给出的命令终止时,代理自动退出。

5.常用示例

(1)运行 ssh-agent 并打印本身的环境和变量。

ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-LG9nILJM4eg5/agent.10291; export SSH_AUTH_SOCK;
SSH_AGENT_PID=10292; export SSH_AGENT_PID;
echo Agent pid 10292;
lvlv@jumper02:~$ echo Agent pid 10292

(2)把 ssh-agent 进程杀掉。

ssh-agent -k
SSH_AGENT_PID not set, cannot kill agent

(3)运行 ssh-agent 并生成 C-shell 风格的命令输出。

ssh-agent -c
setenv SSH_AUTH_SOCK /tmp/ssh-9EeTOiN3QBlO/agent.12868;
setenv SSH_AGENT_PID 12869;
echo Agent pid 12869;

(4)使用 -d 参数,运行调试模式。

ssh-agent -d
SSH_AUTH_SOCK=/tmp/ssh-RIdJfIA1Qus2/agent.13761; export SSH_AUTH_SOCK;
echo Agent pid 13761;
debug2: fd 3 setting O_NONBLOCK

参考文献

ssh-agent(1) - Linux manual page - man7.org

Linux 命令(211)—— ssh-agent 命令相关推荐

  1. Linux使用SSH上传下载文件,Linux下通过ssh scp命令上传下载文件

    Linux下通过ssh scp命令上传下载文件. 1.上传本地文件到服务器 scp /path/filename username@servername:/path/ 例如 scp /var/tale ...

  2. 香橙派可以运行linux,如何使用SSH远程命令登录香橙派开发板

    香橙派Orange Pi 系列开发板是开源的单板电脑,新一代的arm开发板,可以运行Android.Ubuntu.Debian等操作系统.CPU使用全志H2.H3.H6.RK3399等芯片,拥有多种内 ...

  3. linux ssh注册码,linux ssh -l 命令运用

    ssh是远程登录命令,-l选项是最常用的选项,下面是我的一些总结 远程登录:ssh  -l  userName  ip # 远程登录到 10.175.23.9 ssh -l root2 10.175. ...

  4. unity连接linux服务器,C#编程之C#通过SharpSSH库与Linux服务器建立SSH连接并执行命令...

    本文主要向大家介绍了C#编程之C#通过SharpSSH库与Linux服务器建立SSH连接并执行命令,通过具体的内容向大家展示,希望对大家学习C#编程有所帮助. 在Unity3D项目开发工具时需要用到S ...

  5. linux screen 命令是 ssh 的有效补充

    linux -- screen 命令是 ssh 的有效补充 有时候会有这样的问题,当在公司服务器上打开了一个终端,做了很多事情,或正开着某个服务程序,下班回家了. 突然有事需要接入到服务器,如果用 s ...

  6. linux远程连接telnet命令,Linux中的ssh,ping,ftp,telnet远程登录及通信相关的命令...

    本节,我们将介绍一些和Linux系统远程登录及通信相关的命令. SSH命令 SSH(Secure Shell即安全的Shell)可以登录和操作远程操作系统,它会建立一个安全的连接,将通信数据进行加密, ...

  7. linux ssh ip地址命令,关于Linux:在ssh会话中查找客户机的IP地址

    我有一个脚本,由使用ssh登录到服务器的人运行. 有没有办法自动找出用户连接的IP地址? 当然,我可以问用户(这是一个程序员的工具,所以没问题),但如果我刚刚发现的话,会更酷. 建议转到服务器故障,不 ...

  8. linux系统中ssh命令,Linux系统中SSH 命令的用法有哪些?

    今天小编要跟大家分享的文章是关于Linux系统中SSH命令的用法有哪些?一个系统管理员可能会同时管理着多台服务器,这些服务器也许会放在不同的地方.要亲自一台一台的去访问来管理它们显然不是最好的方法,通 ...

  9. 【Linux】SSH相关命令

    [Linux]SSH相关命令 关于SSH SSH 为 Secure Shell 的缩写,SSH 为建立在应用层和传输层基础上的安全协议. SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性 ...

  10. 学习Linux命令:关于ssh命令

    1.查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号.使用ssh -V命令可以得到版本号.需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用Op ...

最新文章

  1. linux文件目录类命令|--rmdir指令
  2. RSA体系 c++/java相互进行加签验签--转
  3. BeautifulSoup 一行代码获取今日日期,与smtplib结合
  4. MySQL函数/数据库函数
  5. Linux:多进程、多线程服务器的实现解析(有图有代码有真相!!!)
  6. 计组之概述:计算机系统
  7. MySQL字符集LATIN1转UTF8
  8. 5、Oracle备份(oracle备份脚本配置)
  9. php企业微信扫码登录
  10. GNU Make构建工具使用教程
  11. 计算机技术论文搜索引擎,垂直搜索引擎核心技术研究及展望论文
  12. 兄弟一脸懵逼,刚才是发生了什么?
  13. python--批量离线安装python包
  14. 14.1 来自Bitly的USA.gov的数据(2)
  15. python: nums 和 nums[:] 的区别
  16. 【机器学习】Decision Tree 决策树算法详解 + Python代码实战
  17. 安装vue cli失败,显示this package has been deprecated in favour的解决办法
  18. 神经网络结构图绘图软件,神经网络图用什么画
  19. 如何用Matlab给一张图圈出多个区域
  20. pytorch添加迁移学习

热门文章

  1. Logging initialized using configuration in jar:file:/home/lan/software/hive/lib/hive-common-1.2.1.ja
  2. JRebel-JVMTI [FATAL] Please make sure that ‘C:\Users\\AppData\Roaming\JetBrains\IntelliJIdea2020.
  3. IPv6接口自动配置的地址数量
  4. python的构造函数的作用,python 构造函数作用
  5. android 端口查看工具,安卓模拟器连接端口一览表:(2018.11收录10款)
  6. 在项目中应用SpringSecurity权限控制
  7. 华为鸿蒙os的内核是Linux,谈华为鸿蒙内核和操作系统
  8. 如何查看自己电脑的ip地址
  9. 批归一化《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》
  10. uc保存html,UC浏览器如何保存网页?UC浏览器保存网页教程图文详解