日常开发过程中,我们可能遇到需要在同一电脑上配置多个Git账户的情况;github、公司的git服务器等,这时候我们需要配置多个ssh。以Mac为例。
1.取消全局的账户配置
查看全局账户
git config --global user.name
如果存在,取消全局设置
git config --global --unset user.name
git config --global --unset user.email
2.创建不同user的ssh key
# 新建ssh key
cd ~/.ssh
ssh-keygen -t rsa -C "new_user@email.com" # 生成新的ssh key
# 设置新的ssh key的名称
Enter file in which to save the key (/Users/{username}/.ssh/id_rsa): id_rsa_oschn
3.新密钥添加到ssh agent中
默认只添加了id_rsa,因此需要将新的ssh key 添加
ssh-add ~/.ssh/id_rsa_oschn
如果添加报错:Could not open a connection to your authentication agent,尝试以下命令
ssh-agent bash
ssh-add ~/.ssh/id_rsa_oschn
4.修改config文件
在~/.ssh目录下找到config文件,如果没有就创建
touch config #创建config文件
修改config 文件
# 该文件用于配置私钥对应的服务器
# corporation gitlib user(xxx@corp.com.cn)
Host git@git.corpxxx.com
HostName https://git.corpxxx.com
User git
IdentityFile ~/.ssh/id_rsa
# second user(user@xxx.com)
# OSChina
Host git@gitee.com
HostName https://gitee.com
User git
# PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_oschn
5.测试
ssh -T git@gitee.com
6.其他
在使用idea的时候,可能出现命令行可以clone 代码,但是idea里面不能clone代码的情况,检查一下配置:
Version Control -> Git -> SSH executable: Native