如何在一台电脑上创建多个sshkey达到操控多个github账号的目的

老司机一般都不只有一个github账号,多个账号同一台电脑部署代码 如果使用同一个公钥肯定是不行的,会报权限拒绝,那么如果解决这个问题呢

首先

生成一个新的sshkey

1
ssh-keygen -t rsa -C "YOUR_EMAIL@YOUREMAIL.COM" -f ~/.ssh/名字(如abc)

此时 在.ssh目录下会生成一个abc.pubabc (.ssh目录一般位于C:\Users\windows\.ssh)

第二步 添加config配置文件

.ssh目录下进行config文件的配置(如果没有就新建一个,不用后缀名)

以下是config文件的内容(直接拷贝的话 记得把注释去掉)

1
2
3
4
5
6
7
8
9
10
11
12
13
# 这个是原来的key
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id-rsa

# 这个是新加的key
# github_2
Host github_1.com (此处的host名是自己取的,你也可以自己改)
HostName github.com (gitlab的话写gitlab.com?)
PreferredAuthentications publickey
IdentityFile ~/.ssh/abc (这是你的key的路径名)

第三步 将新生成的密钥添加到SSH agent中

因为系统默认只读取id_rsa,为了让SSH识别新的私钥,需将其添加到SSH agent中:

1
ssh-add ~/.ssh/abc

如果出现Could not open a connection to your authentication agent的错误,就试着用以下命令:

1
ssh-agent bash
1
ssh-add ~/.ssh/abc

第四步 在你需要连接的github的settings里配置sshkey

将新生成的公钥(.pub后缀)复制过去

第五步 修改克隆或者关联远程仓库的地址(关键)

平常咱们关联远程仓库代码是这样的

1
git remote add origin git@github.com:name/project.git

如果你想关联新github账户的仓库 需要改成

1
git remote add origin git@github_1.com:name/project.git

只要把github域名改成config中配置的就行

到此,就完事了

本帖附件

点击下载

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

0%