Git多帐号配置,管理多个SSH

当我们存在多个git账号的时候,比如公司用Gitlib或者Gerrit等等,而日常自己做的一些东西则会托管到Github上面。这些git账号的邮箱如果使用的是不同的话,就会存在生成一个git的key的时候会覆盖另外其他的的key 的问题,下面说一下怎么处理:

查看自己所有的SSH-Key

$ cd ~/.ssh
$ ls
  id_rsa
  id_rsa.pub
  known_hosts

如果你已经创建过git账号那你可能和我一样会看到只有一个SSH-Key,

这个SSH-Key是我在公司Gerrit(你也可以理解为gitlib一样的东西)所使用的SSH-Key。

由于公司所用邮箱于github上邮箱不一致,如果重复生成新的SSH-Key只会吧之前的公司的SSH-Key覆盖掉,这样并不是问所想看到的结果。

废话说完了,就开始说说怎么解决这个问题:

第一步,生成公司的所用的SSH-Key

如果你和我一样已经存在公司的一个SSH-Key,可以直接跳过第一步

$ ssh-keygen -t rsa -C "公司所用邮箱"

SSH-Key
第一个内容输入ompany_id_rsa(给你公司的SSH-Key起一个可以区分的名字)
余下的一路回车即可

到这里,你公司的ssh-keygen就完成了,查看一下

$ cd ~/.ssh
$ ls
  ompany_id_rsa
  ompany_id_rsa.pub
  known_hosts

第二步,生成自己其他的SSH-Key(如Github)

和第一步同样的步骤,执行:

$ ssh-keygen -t rsa -C "github所用邮箱"

第一个内容输入github_id_rsa(给你另一个SSH-Key起一个独有的名字用于区分)
余下的一路回车即可

让我们ls查看一下 :

$ cd ~/.ssh
$ ls
  github_id_rsa
  github_id_rsa.pub
  ompany_id_rsa
  ompany_id_rsa.pub
  known_hosts

可以看到目前我们拥有两个不同的SSH-Key,这两个SSH-Key,一个用于公司,一个用于github。现在还需要关键一步,接着往下看...

第三步,添加config配置文件用于区分多个SSH-Key

# 公司(Gerrit)
Host gitlab.com
    HostName gerrit.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/ompany_id_rsa

# github
Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_id_rsa

保存后配置**_id_rsa.pub公钥,以github为例

打开github选择右上角头像下拉框选择Settings

找到SSH and GPG keys选项,

点击New SSH key按钮添加公钥。

公钥即为~/.ssh/**_id_rsa.pub文件中的内容

我这里使用的是github的github_id_rsa.pub


好了,你可以愉快去试试了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值