场景
在工作中一台电脑可能会有多个不同的github,gitlab帐号需要管理,当pull / push代码时,多账号就是一个很大当问题,所有我们需要生产多个ssh key去管理不同 的帐号
实践
1. 已生成过key
cd ~/.ssh
ls
config id_rsa.pub
known_hosts id_rsa
进入到ssh下 ,如果生成过ssh key会看见 该目录下有 id_rsa的文件,如果生成key的帐号是正确的可以直接复制key
pbcopy < ~/.ssh/id_rsa.pub
然后点开settings -> ssh key 去添加对应的key
2. 未生成过key
ssh-keygen -t rsa -C "XXXX@Example.com"
然后
你需要输入生成对应key的文件名称
然后一路回车,就生成一个key
如果需要生成多个,重复上述步骤
mkdir config
vi config
生成config文件
#配置:gitlab company
Host gitlabcompany.com(这个会影响git相关命令,即当你想对该远程仓库做操作时,git@后需要改为你命名的这个名字,例如我需要克隆公司的代码库中的项目命令为git clone git@gitlabcompany.com:xxx/test.git)
HostName gitlab.com (这个填真实的域名地址,内网填ip)
User xxx (配置使用的用户名,我用的mac的用户名)
IdentityFile ~/.ssh/company_id_rsa
#github
Host github.com
HostName github.com
User xxx1
IdentityFile ~/.ssh/github_id_rsa
每个账号单独配置一个Host,每个Host要取一个别名,每个Host主要配置HostName和IdentityFile两个属性即可
最后你可以测试是否通过
ssh -T git@gitlabcompany.com
ssh -T git@github.com