Git多账户配置

同时使用多个 Git 源(Github,Gitee,Gitlab 等)

在很多情况下,我们在同一台 PC 上可能需要关联多个 Git 源。比如公司的项目放在 gitee 上,但是个人有很多学习的小项目都放在 github 上,此时就需要有能连接多个 ssh 的需求。

第一步:为每个 git 在线服务生成一对公私钥

$ ssh-keygen -t rsa -C "yourEmail@email.com"

Enter file in which to save the key (/c/Users/user/.ssh/id_rsa): /c/User/user/.ssh/id_rsa_github

我们以 id_rsa_github 为生成的公私钥文件命名,并指定文件的存储路径为 “/c/User/user/.ssh/“ 下

生成的公私钥

如果你需要多个服务,则依次 重复第一步 即可。
注意每一对公私钥的命名不能重复。

第二步:在 /c/User/user/.ssh/ 下创建 config 文件,并填入刚刚的公私钥名

Host gitee.com
  Hostname gitee.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa_gitee
  User koral

Host github.com
  Hostname github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa_github
  User koral

这一步表示,在 git 发起 ssh 链接时,对应着哪一个 ssh 私钥。这里我只以 码云( gitee@OSC )和 github 为例。

不要问我 ~/.ssh/ 前面的 ~ 表示什么意思。我也不会告诉你,它表示当前 PC 用户的根目录的。至于你想设置为全局的,我也不知道。

第三步:将生成的公钥添加至各自的 SSH 中

这里以 Github 为例,其他几个网站类似:

在 SSH keys 中”New SSH key”

找到github的ssh

写入生成的 SSH

找到第一步中生成的 SSH 公钥(以”.pub”结尾的),并填入,Title 随便写
image.png

第四步:测试

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

如果提示了什么不得了的东西,请先删除 “/c/User/user/.ssh/“ 目录下的 “known_hosts”,并重新执行测试。它会重新生成一个。
当出现 Hi koral! You've successfully authenticated, but GitHub does not provide shell access. 时,恭喜你,连接成功。

文章作者: koral
文章链接: http://luokaiii.github.io/2018/09/28/Git/1.多个Git源/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自