如何配置多个ssh密钥对,解决 github 多用户上传问题

背景

当我需要在同一个客户端push代码到不同的github账号时,碰到了问题,添加私钥时出错:“key is already in use”,这是因为同一个key只能对应一个github账号。下面我们需要进行配置,将key分开。

生成单独密钥

1
ssh-keygen -t rsa -C 'bearalise@gmail.com' -f ~/.ssh/id_rsa_bearalise_github

配置不同密钥

编辑 ~/.ssh/config:

1
2
3
4
5
6
7
8
9
10
# 个人的GitHub公钥
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_ed25519

Host github_b.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_bearalise_github

添加key并测试

到 Github 中,添加 ~/.ssh/id_rsa_bearalise_github.pub 内容,并测试一下,执行:

1
ssh -T git@github_b.com

如果返回以下提示,则代表成功配置:

1
Hi bearalise! You've successfully authenticated, but GitHub does not provide shell access.

重新绑定 remote 仓库

首先解除原有绑定:

1
git remote rm origin

重新添加绑定,注意 host 要改为 github_b.com:

1
git remote add github git@github_b.com:bearalise/quizdemo.git

测试

可以执行以下语句验证:

1
git push github main

成功,问题解决。


作者:Bearalise
出处:如何配置多个ssh密钥对,解决 github 多用户上传问题
版权:本文版权归作者所有
转载:欢迎转载,但未经作者同意,必须保留此段声明,必须在文章中给出原文链接。

请我喝杯咖啡吧~

支付宝
微信