背景:
帮朋友最近在做一些私活,都是用阿里云托管代码,两套代码用同一个codeup管理,没法同时管理,在网上找了各种方法尝试好几次终于解决。
基本步骤:
1. 通过命令行定位到目录:~/ssh/
2. 执行以下命令,生成公钥和私钥对1和2:
ssh-keygen -t rsa -C "git@baidu.com" ssh-keygen -t rsa -C "git@taobao.com"
#文件列表如下:
-rw-r--r-- 1 garinzhang staff 413 Feb 1 19:14 known_hosts
-rw-r--r-- 1 garinzhang staff 293 Feb 1 19:13 config
-rw-r--r-- 1 garinzhang staff 581 Feb 1 19:09 id_rsa_baidu.pub
-rw------- 1 garinzhang staff 2610 Feb 1 19:09 id_rsa_baidu
-rw-r--r-- 1 garinzhang staff 580 Feb 1 19:09 id_rsa_taobao.pub
-rw------- 1 garinzhang staff 2610 Feb 1 19:09 id_rsa_taobao
3. 找到生成的.pub文件,将pub文件里面的内容全部拷贝到对应的codeup或者gitlab的后台配置里面
4. 新建config文件:
# 代码库1 Host baidu.com(这个域名是后面会用到的,可以随意写,比如baidu.com) HostName codeup.aliyun.com (真正代码库的地址) User git PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_baidu(生成的私钥文件) # 代码库2 Host taobao.com(一定要跟上面的不一样,比如taobao.com) HostName codeup.aliyun.com (这里跟上面的地址是一样的) User git PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_taobao
5. 此时已经全部配置好了,可以进行测试验证:
garinzhangdeMacBook-Pro:.ssh garinzhang$ ssh -T git@baidu.com (@后面是在config里面配置的host) Welcome to CodeUP, ***! garinzhangdeMacBook-Pro:.ssh garinzhang$ ssh -T git@taobao.com Welcome to CodeUP, ***!
6. 配置完成之后,就可以clone代码了
注意红色部分一定是config里配置的域名,否则就无法正确区分不同的codeup代码仓库:
git clone git@baidu.com:456445458570390004265b52c5341/apolo.git git clone git@taobao.com:456445458570390004265b52c5341/romio.git