目标
在Ubuntu环境中设置2个或多个git账户,分别管理github, gitlab, gitee等多个git网站的代码仓库。
步骤
1. 清除git全局配置
如果已配置过git,先清除原配置中的用户名和邮箱:
git config --global --unset user.name
git config --global --unset user.email
2. 生成新秘钥
查看~/.ssh下有几组秘钥,为每一个代码仓库生成一组对应的秘钥,文件名加后缀区分:
cd ~/.ssh && ssh-keygen -t rsa -C "your_1st_account@qq.com"
#在第一步修改文件名,生成对应的私钥和公钥(.pub),后面的步骤统统回车
Generating public/private rsa key pair.
Enter file in which to save the key (/home/<youraccount>/.ssh/id_rsa): id_rsa_1st
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa_1st
Your public key has been saved in id_rsa_1st.pub
...
3. 添加ssh key
在github, gitlab, gitee等网站中添加ssh key
4. 配置文件config管理秘钥
首先使用生成的密钥,验证联通对应的服务器,返回欢迎语则正常:
ssh -i ~/.ssh/id_rsa_1st git@github.com
ssh -i ~/.ssh/id_dsa_2nd git@gitlab.com
在.ssh文件夹修改秘钥配置文件config,没有就创建:
cd ~/.ssh && touch config
如下格式设置:
Host github.com
HostName github.com
User account1
IdentityFile ~/.ssh/id_rsa_1st
Host gitee.com
HostName gitee.com
User account2
IdentityFile ~/.ssh/id_rsa_2nd
参数说明:
- Host:建议用代码仓库网站域名
- HostName:代码仓库网站域名
- User:仓库上的用户名
- IdentityFile:私钥的路径
5. 验证
返回欢迎语正常:
ssh -T git@github.com
ssh -T git@gitee.com