我目前的
config
ssh 文件设置如下:
Host bitbucket.org-account1
HostName bitbucket.org
User git
IdentityFile ~/.ssh/id_rsa_account1
IdentitiesOnly yes
Host github.com-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_personal
IdentitiesOnly yes
Host *
IdentityFile ~/.ssh/id_rsa
当我尝试从我的
account1
帐户克隆时,它不断提示我输入 id_rsa
键,而不是 id_rsa_account1
键。这是我尝试运行的 ssh 命令:
git clone [email protected]:account1/my.cool.project.git
知道什么可能导致 RSA 密钥之间的混淆吗?我是否错误配置了 SSH 配置文件?
这既是您的
~/.ssh/config
文件的问题,也是您使用它的方式的问题。
首先:由于
bitbucket.org
和 github.com
是不同的服务,因此您不需要执行单独的密钥,也不需要 -account1
/-personal
/Host
定义的任何部分。仅当您在 same 服务上使用多个帐户时,这些才是必需的。
第二:您的
~/.ssh/config
定义了 Host bitbucket.org-account1
,但您的克隆命令不使用 bitbucket.org-account1
。如果您不指定,SSH 将不会使用 bitbucket.org-account1
的设置。
您可以通过以下三种方法之一解决此问题:
~/.ssh/config
~/.ssh/config
中,将bitbucket.org-account1
更改为bitbucket.org
,将github.com-personal
更改为github.com
,其余保持原样bitbucket.org-account1
或 github.com-personal