delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

11 Oct 2010

在服务器上运行的 ssh-agent

之前 @quakelee 提的一个问题(通道上登录第二台机器作为跳板登录第三台机器,但不把ssh私钥传到中间那台机器上)。如果shell是csh,在 ~/.cshrc 中加入:



source ~/auth.csh
[ -e ${SSH_AUTH_SOCK} ] || ssh-agent -t 15m -c > ~/auth.csh && source ~/auth.csh

然后所有的 csh 就可以使用同一个ssh agent了。

注意事项:

  1. ssh-agent的安全性依赖于本地文件系统安全性。只应在可以信赖的系统,例如作为"通道"的服务器上使用。
  2. ssh-agent的安全性还依赖于远程系统的本地安全性。如果远程系统不可信赖,在 ssh 登录时应禁用 Forward Agent。
  3. 本例中设置的过期时间为15分钟(ssh-add之后15分钟)。如果希望让身份信息永久有效,可以去掉 -t 15m。

Archived: 3 Comments

loader | October 12, 2010 2:22 AM

没看明白, 最后 key 是怎么喂给 ssh-agent 的?
一般不留 key 在机器上的话, 我只想到能用转发
ssh -N -L 1234:hostB:22 hostA 然后
ssh localhost -p 1234 就是 hostB 了

Xin LI | October 12, 2010 2:29 AM

@loader: key需要以加密方式放在服务器上,他需要的是一个通道服务器(先登录这台机器,然后再通过这台机器登录到其他机器上)。

leafduo | November 4, 2010 8:20 AM

希望能看到详细一点的安全性分析 :)