ssh 配置多账户
- 公司部署了gitlab,自己同时在用github,所以需要配置两套ssh账户
- 特将相关流程记录下,方便后期查阅
生成 key
| 1 | ssh-keygen -t rsa -C 'xxx@email.com' -f ~/.ssh/xxx-rsa | 
- 执行上述命令后,会在~/.ssh/目录下生成一个xxx-rsa和xxx-rsa.pub两个文件,前者是需要保存在本地的私钥,后者是需要上传到gitlab或者github上的公钥
- 生成过程中,可能会询问你设置使用私钥时的密码(passphrases)- 可以忽略
- 如果设置了,后期使用ssh时,要使用ssh-agent来管理ssh密码,实现免密登录,或者手动输入ssh密码
- 建议忽略
 
上传公钥
- github可以在- https://github.com/settings/keys页面上传公钥
- gitlab可在用户设置页面上传公钥
配置
- 指定不同的域,使用不同的配置
| 1 | # git.xxx.com的配置 | 
- Host域名,也可以理解为下面一套配置的别名,在- ssh命令中可直接使用别名;- 建议设置成跟HostName值一样,在实际使用时,使用别名,会出现问题,所以建议Host、HostName设置成一样的
 
- 建议设置成跟
- HostName,具体域名,完整域名
- IdentityFile当前域的配置文件(私钥)地址
- User用户,这里的用户是登录后台服务器的用户名,一般都为- git,不需要修改
- #后面为注释
- ssh配置文件具体解释可参考
测试
| 1 | ssh -T user@HostName | 
生成多个 key 的实例
- 生成github、gitlab的ssh配置
生成相应 key
| 1 | # 生成github | 
- 生成后,~/.ssh/目录下应该会有下面 4 个文件
- ssh.png
分别上传公钥
- 上传github公钥- 打开用户下面的settings->SSH and GPG keys页面,或者直接访问https://github.com/settings/keys
- 点击New SSH key
- 记事本打开github-rsa.pub并拷贝内容到github即可
 
- 打开用户下面的
- 上传gitlab公钥- 步骤类似github
- 拷贝gitlab-rsa.pub内容到相应公钥填写处即可
 
- 步骤类似
编写配置文件
| 1 | Host gitlab..com | 
测试
| 1 | ssh -T git@github.com | 
- 出现下图提示即可
- ssh-2.png
- 同理,测试gitlab即可

