在 Github 中使用多个 ssh 密钥,其中一个为默认密钥

在 Github 中使用多个 ssh 密钥,其中一个为默认密钥

我想配置我的 SSH 客户端,使其在推送到 GitHub 时使用不同的密钥,其中一个密钥是“默认”密钥。

我认为把它放进去.ssh/config就能得到我所需要的:

Host github-foo
    HostName github.com
    IdentityFile ~/.ssh/id_rsa_FOO

Host *
    IdentityFile ~/.ssh/id_rsa_BAR

根据man ssh_config,当 git 使用 url 连接到远程时,ssh 应该从匹配块(在本例中)git@github-foo:myuser/myproject获取 IdentityFile 的第一个值并使用它。但是,ssh 正在使用密钥进行身份验证。我做错了什么?这是一个错误吗?Host~/.ssh/id_rsa_FOOid_rsa_BAR

我读了,但该解决方案需要更改每个远程存储库 URL;该方法中没有“默认”键。我希望能够让所有应使用“默认”键的存储库的 URL 保持不变(id_rsa_BAR在本例中)。

答案1

我不确定你使用的是什么操作系统,但我可以使用 SSH 密钥代理来使用多个密钥。我运行的是 Windows 并使用 pageant。我可能会从https://gist.github.com/tobalsan/4008409。我相信您可以为您的操作系统运行一个代理。

希望这可以帮助。

相关内容