下面是一些ssh agent的资料简要摘录,网路上的相关的文章已经很多了:
SSH agent 可以做到防止验证思考口令;和SSH 私钥转发;当X 主机 登录上Y后;之后用Y作为跳板机的时候,就可以通过ssh-agent 使用X主机的私钥;这样我们在Y主机上不用保存我们私钥,达到安全的目的;
ssh 推荐的登录方式是使用私钥登录。但是如果生成私钥的时候,设置了口令(passphrase)(此口令为私钥的口令),每次登录时需要输入口令也很麻烦。可以通过 ssh-agent 来管理私钥,把私钥加载进内存,之后便不用再输入私钥。
ssh-agent 代理转发:
需求:在 X 机器上运行 ssh-agent 代理来管理私钥;通过 X 机器 ssh 登录到 Y 机器;能让 Y 机器上的 ssh 客户端也能使用到所有 X 机器上的 ssh-agent 所管理的所有私钥。
原理:Y 机器上的 ssh 客户端会跟 Y 机器上 sshd 服务器请求私钥。因为已经从 X 登录到 Y 上,X 的 ssh 客户端和 Y 上的 sshd 服务器连理了一条连接。通过这条连接,请求被转发给了 X 上的 ssh 客户端,最终传递给 X 上的 ssh-agent。请求的结果反向传递回去。
无需提供密码是 ssh-agent 的一个好处。另外:
1、如上边的拓扑结构,可以直接使用 scp 命令将 1.15 上的文件拷贝到 1.237 上,在本机执行 scp root@192.168.1.15:/root/test.txt root@192.168.1.237:/root。
2、假如 1.237 在墙后,只有 1.15 可访问 1.237;然而为了安全,不能在 1.15 上保存秘钥,便可以使用这种方式——上边的拓扑结构中,只需要本机拥有其他机器的登录私钥;其它机器完全不需要前一节点的私钥。这样,本机可以作为一个堡垒机(bastion)来安全的管理所有的私钥。
3、ssh-add 还有其他选项可用,-d 删除已经添加的私钥;-x 锁定shell等。
参考链接:
https://blog.csdn.net/zhouguoqionghai/article/details/92134462
http://www.zsythink.net/archives/2407/
保持更新,更多内容请关注 cnblogs.com/xuyaowen