现在使用类似github这样的service,一般来说都会配置ssh key认证。
所以使用ssh-agent来管理私钥就变的必要。
在Gentoo下是这么配置的:
- sudo emerge -avt keychain
- 编辑.bashrc,加入keychain <private key 1 path> ... <private key n path>
- 编辑.bashrc,在上面一句之后,加入:source $HOME/.keychain/$HOSTNAME-sh
类似ssh-add这样的工具,需要SSH_AUTO_SOCK这样的环境变量去知道ssh-agent的信息,keychain已经帮我们生成好了,所以需要上面的一句source,参考man keychain
keychain是一个ssh-agent的wrapper,功能是:
- 保证只会有一个ssh-agent进程存在
- 自动生成SSH_AUTH_SOCK等环境变量的设置。
有关keychain,可以看这里:http://www.ibm.com/developerworks/cn/linux/security/openssh/part2/index.html
这篇文章的作者Daniel Robbinson是Gentoo的创始人,也是keychain的作者,有意思。