程序员的成长之路
互联网/程序员/技术/资料共享
阅读本文大概需要 2 分钟。
有时候我们可能需要在同一台电脑上针对不同平台同时使用多个Git账户的情况,这时候我们就需要针对多个平台和账户进行不同的设置。
思 路同时管理多个SSH key。
解决方案生成多个SSH key
这里使用one、two两个账户进行举例。
注意: 在生成多个SSH key的时候一定要在~/.ssh目录下进行,否则生成的SSH key不会在~/.ssh目录下,所以以下有操作都是在~/.ssh目录下进行的。在生成之前尽量删除此目录下的所有文件再进行,以免出现不必要的问题。
ssh-keygen -t rsa -C "one@email.com"
ssh-keygen -t rsa -C "two@email.com"
复制代码再输入命令行的时候在第一次提示Enter file in which to save the key的时候对ssh文件进行重命名(idrsaone和idrsatwo),这样就会生成如下目录中的四个文件。
即两份包含私钥和公钥的4个文件。
获取密钥
cat ~/.ssh/id_rsa_one.pub
cat ~/.ssh/id_rsa_two.pub
其中idrsaone.pub和idrsatwo.pub就是上面对ssh文件重命名的文件名。
有了这个密钥,你就可以将其添加到你所需要用的平台上去。
创建config文件
在~/.ssh目录下创建一个config文件
touch config
这样就会在~/.ssh目录下生成一个空的config文件,然后我们在文件中添加以下内容:
# git server one Host one.aliyun.com #别名 Hostname code.aliyun.com #真实域名 PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_one #ssh 文件路径 User one #git server two Host two.aliyun.com Hostname code.aliyun.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_two User two
远程测试
ssh –T one.aliyun.com
ssh –T two.aliyun.com
使 用
比如clone到本地
原来的写法:
git clone git@code.aliyun.com:项目路径.git
现在的写法:
git clone git@one.github.com:项目路径.git
git clone git@two.github.com:项目路径.git
给仓库设置局部用户名和邮箱
git config user.name "one_name"; git config user.email "one_email" git config user.name "two_name"; git config user.email "two_email"
<END>
公众号最新导航栏