乐趣区

关于git:Git配置多个SSHKey这样搞超简单

背景

个别状况下,当有多个 git 账号,如果没有咧,都去尝试一下,例如:

  1. gitee 账号,国产 github,码云值得领有
  2. github 账号,寰球最大同性交友网站
  3. gitlab 账号,公司外部的工作开发,至多我所在开发组应用的这个

解决方案

解决办法很简略,新建一个 config 文件就能够了。

1、本地生成 SSH-Key

生成一个 gitee 用的 SSH-Key

$ ssh-keygen -t rsa -C 'xxxxx@163.com' -f ~/.ssh/gitee_id_rsa

生成一个 github 用的 SSH-Key

$ ssh-keygen -t rsa -C 'xxxxx@163.com' -f ~/.ssh/github_id_rsa

生成一个公司用 gitlab 的 SSH-Key

$ ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/gitlab_id_rsa

在默认文档中就会生成如下这些文件:

2、git 平台设置中

将 .pub 文件中内容复制到相应的平台 SSH 设置中,例如:

gitee_id_rsa.pub 中的文件内容复制到码云的 SSH 公钥中。

3、新建 config 文件

在 ~/.ssh 目录下新建一个 config 文件,增加如下内容:

# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa

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

# gitlab
Host xxxx.com
HostName xxxx.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_id_rsa

其中 Host 和 HostName 填写 git 服务器的域名,IdentityFile 指定私钥的门路。

切实不知道 Host 和 HostName 怎么填的呢,譬如不晓得公司外部的服务器域名,能够在 known_hosts 文件中查看。

4、测试是否联通

用 ssh 命令别离测试,@前面跟着的是域名呀。

$ ssh -T git@gitee.com
$ ssh -T git@github.com
$ ssh -T git@xxxx.com

看到界面返回欢送标语的时候,就阐明胜利啦。

至此,你就能够在同一台电脑上,欢快的进行各大平台的代码提交。

关注我吧

退出移动版