一台电脑配置多个GitHub/GitLab帐号的SSH Key切
2021-02-18 本文已影响0人
天不生我小金
前言:该博客主要是记录自己学习的过程,方便以后查看,当然也希望能够帮到大家。
说明
- 有时需要在一台电脑上提交到不同的GitHub或GitLab账号上。
- 这里直接配置两个ssh key对应不同的账号,如果已经生成一个了,请直接生成第二个即可。
第一步,打开终端,输入以下命令,如下
ssh-keygen -t rsa -C 'xxx@xxx.com'
只需要把邮件地址换成你自己的邮件地址,然后一路回车即可。
第二步,然后会出现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说明
- Title随便填。
- Key填上生成的id_rsa_luoyu.pub里面的内容。
- 到此已经配置成功,拉取代码的时候直接选择ssh方式即可。
第五步,按照上面的步骤,添加第二个账号的ssh key,此处不赘述
第六步,在生成私钥和公钥的路径下创建配置文件config,如下
image.pngHost xxx
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_xxx
Host luoyu
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_luoyu
说明
- 原理就是通过使用Host,配置使用指定域名时使用指定的私钥。
- Host随自己起名字,最好跟该账号有相关性,后面拉取/提交代码的时候要用到。
- HostName为自己的gitlab或者github地址(github的话为github.com)。
- PreferredAuthentications固定值。
- IdentityFile为自定义生成的私钥的文件路径。
第七步,使用
设置远程仓库或拉取代码的时候,只需要把域名改为该账号自定义Host名字即可,如下
- 使用配置的luoyu账号拉取git@github.com:luoyusoft/springboot-demo.git的代码,只需要将地址改成git@luoyu:luoyusoft/springboot-demo.git即可,其他操作不变。
- 使用配置的xxx账号拉取git@github.com:luoyusoft/springboot-demo.git的代码,只需要将地址改成git@xxx:luoyusoft/springboot-demo.git即可,其他操作不变。
后记:本次分享到此结束,本人水平有限,难免有错误或遗漏之处,望大家指正和谅解,欢迎评论留言。