【发布时间】:2016-10-14 16:19:57
【问题描述】:
我正在尝试为两个不同的 github 帐户设置多个 ssh 密钥,但我似乎无法让它像我想要的那样工作。
目前我有两个 ssh 密钥,我们称它们为 a_rsa 用于从 github.com-a 克隆的 repos 和 b_rsa 用于从 github.com-b 克隆的 repos。
我在 Ubuntu 上,我所有的密钥和配置都位于 ~/.ssh。我的 ssh 配置如下所示:
#Account A
Host github.com-a
HostName github.com
User git
IdentityFile ~/.ssh/a_rsa
#Account b
Host github.com-b
HostName github.com
User git
IdentityFile ~/.ssh/b_rsa
我的.git/config 文件之一中的示例网址是:
url = git@github.com:a/SomeRepo.git
无论我在哪个 repo 中尝试从 master 推送或拉取,它总是尝试使用密钥 b_rsa。
我尝试将每个上的用户分别更改为 a 和 b 均无济于事。我不确定我的配置是否被读取,因为我尝试将我的配置文件设置为:
Host *
IdentityFile ~/.ssh/a_rsa
我所有的 repos 仍然尝试使用 b_rsa 键。
我希望它的工作方式基于我想要推送到的仓库的所有者(所有者 a 或 b)它会使用适当的密钥,但我似乎无法弄清楚怎么了。
【问题讨论】:
-
有趣的问题。老实说,我怀疑就 SSH 而言是否可行。但是,在 git 配置中可能是可能的。这就是您希望进行任何进一步研究的地方,而不是 SSH 配置。祝你好运!
-
我发现了这篇文章,我认为它会让你得到你想要的。 stackoverflow.com/questions/2419566/…