我在基于Git的伪造[1]上有多个帐户,我想通过SSH(不是HTTPS)检查和管理回购。我目前这样做:
(这遵循给出here on SO和elsewhere的建议。)
Host id1.example.com
Hostname example.com
User git
IdentityFile ~/.ssh/id_rsa
Host id2.example.com
Hostname example.com
User git
IdentityFile ~/.ssh/id_rsa
我现在可以ssh -T git@id1.example.com
或ssh -T git@id2.example.com
同样执行Git任务。
但是,我还仍然使用git@example.com
执行Git任务,这似乎与我的默认id_rsa密钥相关联。我试图按如下方式覆盖:
Host example.com
Hostname example.com
User git
IdentityFile ~/.ssh/none
...其中~/.ssh/none
是包含虚拟文本的文本文件。但是,ssh尝试仍然成功,与我的默认id_rsa密钥相关联。
如何覆盖此案例以使尝试失败,迫使我明确使用其中一个特定于帐户的主机?
[1]到目前为止,我知道这适用于GitHub和BitBucket,但我想这里有一个通用原则。
答案 0 :(得分:0)
最简单的方法是删除id_rsa.key
文件,以防止SSH找到“默认”身份验证密钥。
小心! 备份该文件!当然,保留配置的IdentityFile
密钥。您的id_rsa.key
只是没有~/.ssh
。