SSH私钥管理ssh-agent的使用
我所在的公司是使用git来管理和部署源代码的,所以需要将自己的私钥从开发机带到线上机
[plain]
ssh -A xxx@192.168.0.xxx
但是发现跳到线上机后进行git fetch,提示并没有找到开发机上得私钥,私钥没有带过来。经过几天搜索,发现是开发机需要启动ssh-agent
[plain]
ssh-agent bash --login -i
ssh-add
这样就可以把自己的私钥加密缓存,ssh内部的机制可以在通迅过程中把缓存的私钥安全的带到目标机上
【ssh-agent介绍】
ssh-agent就是一个管理私钥的代理,受管理的私钥通过ssh-add来添加,所以ssh-agent的客户端都可以共享使用这些私钥。
好处1:不用重复输入密码。
用 ssh-add 添加私钥时,如果私钥有密码的话,照例会被要求输入一次密码,在这之后ssh-agent可直接使用该私钥,无需再次密码认证。
好处2:不用到处部署私钥
假设私钥分别可以登录同一内网的主机 A 和主机 B,出于一些原因,不能直接登录 B。可以通过在 A 上部署私钥或者设置 PortForwarding 登录 B,也可以转发认证代理连接在 A 上面使用ssh-agent私钥登录 B。