一台电脑配置多个GitHub/GitLab帐号的SSH Key切换

前言:该博客主要是记录自己学习的过程,方便以后查看,当然也希望能够帮到大家。

说明

  1. 有时需要在一台电脑上提交到不同的GitHub或GitLab账号上。
  2. 这里直接配置两个ssh key对应不同的账号,如果已经生成一个了,请直接生成第二个即可。

第一步,打开终端,输入以下命令,如下

ssh-keygen -t rsa -C '[email protected]'
只需要把邮件地址换成你自己的邮件地址,然后一路回车即可。

第二步,然后会出现Enter file in which to save the key (/Users/luoyu/.ssh/id_rsa)

注意

这里不要回车,输入本次邮箱对应账号要生成的私钥和公钥的名字,然后再回车即可。

如果出现/Users/luoyu/.ssh/id_rsa_luoyu already exists.
Overwrite (y/n)? y
输入:y  (重新覆盖)
输入:n  (不覆盖)
直接覆盖然后使用新的即可。

第三步,会提示你设置密码

这个嫌麻烦的话可以直接回车,然后就会在上面提示的路径下找到刚刚自定义名字的私钥和公钥,如下
image.png

第四步,登录GitHub或GitLab,打开Settings,SSH and GPG keys,添加Key,如下

image.png
image.png
说明
  1. Title随便填。
  2. Key填上生成的id_rsa_luoyu.pub里面的内容。
  3. 到此已经配置成功,拉取代码的时候直接选择ssh方式即可。

第五步,按照上面的步骤,添加第二个账号的ssh key,此处不赘述

第六步,在生成私钥和公钥的路径下创建配置文件config,如下

image.png
Host xxx
  HostName github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa_xxx
Host luoyu
  HostName github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa_luoyu
说明
  1. 原理就是通过使用Host,配置使用指定域名时使用指定的私钥。
  2. Host随自己起名字,最好跟该账号有相关性,后面拉取/提交代码的时候要用到。
  3. HostName为自己的gitlab或者github地址(github的话为github.com)。
  4. PreferredAuthentications固定值。
  5. IdentityFile为自定义生成的私钥的文件路径。

第七步,使用

设置远程仓库或拉取代码的时候,只需要把域名改为该账号自定义Host名字即可,如下
  1. 使用配置的luoyu账号拉取[email protected]:luoyusoft/springboot-demo.git的代码,只需要将地址改成git@luoyu:luoyusoft/springboot-demo.git即可,其他操作不变。
  2. 使用配置的xxx账号拉取[email protected]:luoyusoft/springboot-demo.git的代码,只需要将地址改成git@xxx:luoyusoft/springboot-demo.git即可,其他操作不变。

后记:本次分享到此结束,本人水平有限,难免有错误或遗漏之处,望大家指正和谅解,欢迎评论留言。

你可能感兴趣的:(一台电脑配置多个GitHub/GitLab帐号的SSH Key切换)