現在使用類似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的作者,有意思。?