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即可

