我在一个基于Git的forge1上有多个帐户,我想通过SSH (而不是HTTPS)来检查和管理repos。我目前是这样做的:
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...where ~/.ssh/none是一个包含虚拟文本的文本文件。但是,ssh尝试仍然成功,并与我的默认id_rsa键相关联。
如何覆盖这种情况,使尝试失败,迫使我显式地使用一个帐户特定的主机?
1到目前为止,我知道这适用于GitHub和BitBucket,但我认为这里有一个通用的原则。
发布于 2014-07-10 11:34:11
最简单的方法是删除id_rsa.key文件,以防止SSH找到“默认”身份验证密钥。
小心!备份了那个文件!当然,保留配置好的IdentityFile密钥。只是在你的id_rsa.key中没有一个~/.ssh。
https://stackoverflow.com/questions/24675196
复制相似问题