git 多组 ssh key 的管理

应用场景:一般自己的,公司的都会有多个远程仓库,为了安全起见,就要用多组ssh key.

环境(mac)

第一步:生成ssh key

ssh-keygen -t rsa -C  "[email protected]"

      注:此处会可以设置密码,不过一般的直接回车,不设密码;默认生成文件id_rsa、id_rsa.pub,一个私钥、一个公钥(文件路径~/.ssh);

此处还可以一下方式直接指定文件

ssh-keygen -t rsa -C  "[email protected]" -f ~/.ssh/github

如果在生成秘钥时设置了密码,可以通过以下步骤提升使用效率

如果您的私钥使用密码短语来加密了的话,每一次使用 SSH 密钥对进行登录的时候,您都必须输入正确的密码短语。

而 SSH agent 程序能够将您的已解密的私钥缓存起来,在需要的时候提供给您的 SSH 客户端。这样子,您就只需要将私钥加入 SSH agent 缓存的时候输入一次密码短语就可以了。这为您经常使用 SSH 连接提供了不少便利。

引自:https://wiki.archlinux.org/index.php/SSH_keys_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#SSH_agents

因为默认只读取id_rsa,为了让SSH识别新的私钥,需将其添加到ssh agent中:

ssh-add ~/.ssh/github

      注:ssh-add more

第二部:添加config

在.ssh下创建“config”

Host github.com   //域名

     HostName github.com  //域名

     User xxx

     IdentityFile ~/.ssh/github  //此处是私钥的路径

    注:其规则就是:从上至下读取config的内容,在每个Host下寻找对应的私钥。这里将GitHub SSH仓库地址中的[email protected]替换成新建的Host别名如:github2,那么原地址是:[email protected]:username/Mywork.git,替换后应该是:github2:username/Mywork.git.

引自:http://www.jianshu.com/p/65303f8e5f10

最后把公钥加到远程仓库就好了

测试:

ssh T [email protected]

github-help more

你可能感兴趣的:(git 多组 ssh key 的管理)