博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ssh-agent的理解
阅读量:6625 次
发布时间:2019-06-25

本文共 874 字,大约阅读时间需要 2 分钟。

ssh-agent是一个私钥的管理工具

具体的应用场景如下:
当我们有多台服务器需要管理,又要通过不同的私钥去管理不同的服务器
使用不同的私钥去连接不同的服务器时,需要我们手动输入私钥密码,ssh-agent可以免去这项工作
如果需要ssh-agent这项功能的话首先需要启动它:

[root@sazhuo .ssh]# ssh-agent $SHELL

在没有启动的时候,我们在bash中pstree一下:

image
启动完之后pstree一下:
image
可以看到在bash下出现了一个子bash,我们的ssh-agent运行在我们的子bash中
那么要退出我们的子bash环境,只需要执行命令exit直接退出就行了
image
可以看到又回到了我们原来的bash环境

知道了怎么退出和进入子环境进行私钥的管理,只需要一条命令就可以将私钥交给代理进行管理:

image
然后我们需要这个add的场景如下:
在上一篇博客中,我们在执行ssh-keygen的时候,生成的私钥可以自己制定,而不是默认给的:
image
image
当再次执行把公钥给177的时候,我们来ssh一下177试试:我们会发现它会再次提示你输入177的密码,这是因为之前pub跟这次的test.pub进行比对,如果我们把生成的rsa_test1私钥放在我们的agent里面:

image

可以看到177登录不需要密码
当我们为指定的私钥设置了密码,在执行ssh-keygen的时候不但要输入所连接服务器的密码还要输入私钥的密码:
image
ssh-keygen -f ~/.ssh/id_rsa_test2 -P'123456'
在生成公钥和私钥的时候对私钥进行了指定密码的加密
我们用另一台0.3来做实验:
image
image
image

可以看到当我们第一次进入agent执行add的时候还是会需要输入密码,但是执行完之后,agent会自动将私钥的密码添加到其中进行管理,避免了再次登录的时候需要输入密码的操作

**管理我们的私钥:

**
如果想知道我们的agent中添加了那些私钥:
image
想知道私钥对应的公钥:
image
从代理中移除某个已经添加的私钥:
image

到此为止:ssh-agent已经有了很明了的解释

转载地址:http://yqtpo.baihongyu.com/

你可能感兴趣的文章
[SQL Server]一次执行资料夹内的.sql 指令码
查看>>
SQLServer中的死锁的介绍
查看>>
【计算机视觉】粒子滤波跟踪
查看>>
hadoop集群扩展
查看>>
操作系统诊断
查看>>
[Compose] 19. Leapfrogging types with Traversable
查看>>
Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web modules
查看>>
2015年度新增开源软件排名TOP100
查看>>
设计模式 之 原型
查看>>
BZOJ 2456: mode(新生必做的水题)
查看>>
SSM实战——秒杀系统之高并发优化
查看>>
View State
查看>>
自旋锁spinlock解析
查看>>
【java.lang.UnsupportedClassVersionError】版本不一致出错
查看>>
Ubuntu16.04 安装RabbitMQ
查看>>
javascript游戏引擎
查看>>
JVM Debugger Memory View for IntelliJ IDEA
查看>>
LINUX下GDB反汇编和调试
查看>>
golang fmt格式“占位符”
查看>>
SpringMVC包括哪些组件
查看>>