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