我想配置我的 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_FOO
id_rsa_BAR
我读了这,但该解决方案需要更改每个远程存储库 URL;该方法中没有“默认”键。我希望能够让所有应使用“默认”键的存储库的 URL 保持不变(id_rsa_BAR
在本例中)。
答案1
我不确定你使用的是什么操作系统,但我可以使用 SSH 密钥代理来使用多个密钥。我运行的是 Windows 并使用 pageant。我可能会从https://gist.github.com/tobalsan/4008409。我相信您可以为您的操作系统运行一个代理。
希望这可以帮助。