多个github帐号如何使用SSH不产生冲突
多个github帐号如何使用SSH不产生冲突
使用场景:
1.我有两个github帐号A,B
2.我只有一台电脑,但是A和B都需要连接
3.最开始单独使用A的时候,创建了一对密钥;现在想连接B仓库,使用原来的密钥会提示"SSH已经被使用,无法添加"
问题分析:
github不允许多个账号添加同一个公钥,因为如果A能用这个公钥连接,B也能用这个公钥连接,那安全登录就不起作用了。
解决方案:
我们可以在同一个电脑上生成多个SSH Key,操作步骤如下:
1、生成新的SSH Key
git bash
$ ssh-keygen -t ed25519 -C "your_email@example.com" # 这里换成你的邮箱
Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_ed25519):
# 注意,这里不要直接回车,否则会覆盖之前建的key。需要给他换一个名字。
$ /c/Users/Administrator/.ssh/new_ssh_key
然后一直回车就可以了。
2、找到新生成的SSH Key,添加到后台
在目录c/Users/Administrator/.ssh/
下,复制公钥添加到Github B帐号的后台。
3、创建config文件
在目录c/Users/Administrator/.ssh/
下,如果没有,创建一个config文件,然后打开。添加配置:
#A-GitHub
Host A-GitHub
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519
#B-GitHub
Host B-GitHub
HostName github.com
User git
IdentityFile ~/.ssh/new_ssh_key
- Host 为了区分A和B而起的别名
- IdentityFile 区分使用哪个公钥,比如这里A-GitHub使用原先的,B-GitHub使用新生成的new_ssh_key
4、替换github仓库SSH地址
比如我们连接B仓库
原先的地址为git@github.com:BBBBB/test.git
# git remote add origin git@github.com:BBBBB/test.git
$ git remote add origin git@B-GitHub:BBBBB/test.git
把@后面的github.com
更改为刚才设置的别名。
这样一台电脑生成的两个公钥就可以分别连接A和B的远程仓库了。
本文来自博客园,作者:yyyz,转载请注明原文链接:https://www.cnblogs.com/yyyzyyyz/p/15512273.html