一、准备多个邮箱
email1和email2
二、为email1和email2生成公钥和私钥(进入.ssh目录执行一下命令:C:Usersdev.ssh实际以自己的本地目录为准,反正就是找到自己电脑的.ssh目录下就好了)
ssh-keygen -t rsa -f my_rsa_1 -C email1 ssh-keygen -t rsa -f my_rsa_2 -C email2
执行以上会出现下面截图显示的底部倒数4个文件。黄色圈起来的文件不用管,系统默认生成的。
重点讲一下最上面的config文件核心配置,这个文件不是系统生成的,而是需要我们自己创建的。注意这个文件没有后缀名的。
Host github.com //可自定义 HostName github.com PreferredAuthentications publickey User git IdentityFile C:/Users/dev/.ssh/my_rsa_1 Host github2 //可自定义 HostName github.com PreferredAuthentications publickey User git IdentityFile C:/Users/dev/.ssh/my_rsa_2
Host
可以自定义的,表示本地hub服务代理,但是这个名字会影响实际远程仓库操作的ssh地址。
比如说上面的Host github2,如果你远程的SSH地址是:git@github.com:test/example-springboot.git
那么你本地实际操作的地址得写成:git@github2:test/example-springboot.git
三、配置远程仓库的公钥
将相应的.pub结尾的文件复制到相应的github平台就好了。
四、添加密钥到.ssh,在.ssh目录下执行以下命令
ssh-add my_rsa_1
ssh-add my_rsa_2
如果以上出现提示:Error connecting to agent: No such file or directory。按照下面截图处理
【以管理员身份运行】执行
Set-Service ssh-agent -StartupType Manual
Start-Service ssh-agent
五、添加密钥到.ssh,在.ssh目录下执行以下命令
ssh-add my_rsa_1
ssh-add my_rsa_2
六、查看加入ssh中的秘钥列表
ssh-add -l 来确私钥列表
ssh-add -D 来清空私钥列表
完成以上过程就可以正常操作远程仓库了。
参考文章:
https://www.dazhuanlan.com/2019/10/19/5daa10232aaef/
https://blog.csdn.net/java_reduce/article/details/106953000?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242
https://blog.csdn.net/yihuajack/article/details/108849156