默认私钥的局限
ssh生成密钥对时,大家一般使用默认名称(id_rsa),这样,ssh-agent会默认加载这把钥匙。
这也就是大家没有这个场景经验的原因(过程简化,但也了解不了它的机制)。
当需要面对多个系统、维护多把钥匙时,已经不能再使用默认名称了。
非默认密钥名称的配置方法
不推荐方法1
由于ssh-agent 使用~/.ssh/id_rsa
,所以,有人这么操作
ln -s ~/.ssh/${your_private_key} ~/.ssh/id_rsa
这样,产生id_rsa(实际是你的个性私钥),可以解决问题,但是拓展性很差
不推荐方法2
采用类似
eval `ssh-agent`
ssh-add ~/.ssh/${your_private_key}
这种方法会导致运行久的服务器有一堆ssh-agent进程
推荐方法
针对不同的系统有对应的钥匙,这里以gerrit为例
在~/.ssh/config
中加入
Host gerrit*.zte.com.cn
IdentityFile ~/.ssh/${your_gerrit_private_key}
这样,当使用gerrit系统时,就会使用gerrit系统对应的那把私钥(而不是乱七八糟的对私钥一顿乱用)