Git 多账号多仓库配置 SSH

前言

  • 在我们使用 Git 中,有时候会遇到多账号多仓库的情况,比如公司的 GitLab 和 GitHub,以及自己的 GitHub,这时候我们就需要配置多个 SSH 密钥来区分不同的账号和仓库

生成 SSH 密钥

  • 根据你注册仓库的邮箱生成 SSH 密钥,如果你没有注册仓库,记得先在 Github 或者码云上注册一个,然后再生成 SSH 密钥
ssh-keygen -t rsa -C "你的仓库注册邮箱"

# 例如:ssh-keygen -t rsa -C "[email protected]"
  • 输入你的文件名,如果你不知道,那就建议设置成你的邮箱前缀,这样方便你管理,例如:biaov
  • 回车继续设置密码,如果你不想设置密码,那就直接回车,这样就不会设置密码了
    • 建议这里不要设置密码,直接回车,这样以后你也不用再输入密码了
  • 再次输入密码同理,回车

Git 多账号多仓库配置 SSH_第1张图片

  • 生成成功后,会在你的用户目录下生成一个 .ssh 文件夹,里面有两个文件,一个是私钥,一个是公钥,我们只需要公钥就可以了,私钥不要泄露给别人,否则别人就可以访问你的仓库了
    • biaov: 私钥
    • biaov.pub: 公钥

仓库配置 SSH 密钥

  • 登录你的仓库,找到 SSH 密钥配置,将公钥复制进去,保存即可
  • 这里以 GitHub 为例,其他仓库也是类似的
  • 复制 biaov.pub 文件的内容,粘贴到 GitHub 的 SSH 密钥配置中,然后保存即可

Git 多账号多仓库配置 SSH_第2张图片

本地配置 .ssh 文件

  • 因为它需要根据你的配置来识别你的私钥,所以我们需要在本地配置一下,这样就可以识别你的私钥了
  • 在你的 .ssh 文件夹下,新建一个 config 文件,然后输入以下内容:
    • .ssh: C:\Users\Administrator\.ssh - windows
    • Host: 你的仓库域名,例如:github.com, 如果是相同域名不同账号,则拼接 - 区分,例如:github.com-biaov2017
    • User: 你的仓库用户名,例如:biaov
    • HostName: 你的仓库域名,例如:github.com
    • IdentityFile: 你的私钥路径,例如:C:/Users/Administrator/.ssh/biaov
    • PreferredAuthentications: 你的认证方式,例如:publickey
Host github.com
  User biaov
  HostName github.com
  IdentityFile ~/.ssh/biaov
  PreferredAuthentications publickey

Host github.com-biaov2017
  User biaov2017
  HostName github.com
  IdentityFile ~/.ssh/biaov2017
  PreferredAuthentications publickey

Host gitee.com
  User biaov
  HostName gitee.com
  IdentityFile ~/.ssh/biaov
  PreferredAuthentications publickey

克隆代码

  • 仓库地址设置对应的域名
git clone [email protected]:biaov2017/demo.git
# 或者
git clone [email protected]:biaov2017/demo.git
  • 如果你已经克隆了代码,那么你需要修改一下 git 配置
  • 打开 git 配置文件: 项目目录/.git/config
[remote "origin"]
	url = [email protected]:biaov2017/demo.git
# 替换为
[remote "origin"]
  url = [email protected]:biaov2017/demo.git

这样你就可以多账号多仓库使用 Git 了

你可能感兴趣的:(Git,ssh,git,github)