git SSH配置使用错误的密钥?

rjjhvcjd  于 2023-02-14  发布在  Git
关注(0)|答案(1)|浏览(199)

我今天开始了一份新的工作,他们使用bitbucket,他们用我的新工作电子邮件地址为我创建了一个帐户。
但是,当我把我的SSH密钥粘贴进去时,Bitbucket抱怨这个密钥已经在使用中了(我的个人账户),所以我不得不设置另一个密钥。
我的SSH配置看起来像这样,但它不工作,似乎拿起错误的密钥:

Host work
  HostName bitbucket.org
  User git
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_work
  IdentitiesOnly yes

Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

然后,我尝试了git clone work:path/to/some.git,但得到“无法从repo读取”
我不得不编辑掉我的普通id_rsa才能工作,所以现在它看起来像这样:

Host *
  HostName bitbucket.org
  User git
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_work
  IdentitiesOnly yes

我做错了什么?

olmpazwi

olmpazwi1#

使用初始配置文件(包含Host workHost *的文件),您可以执行

ssh -Tv work

您将看到实际使用的是什么键,如果是id_rsa,则意味着Host *中指定的内容优先于Host work
如果你想use your personal key for everything except work,你需要使用一个模式:

Host * !work
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

相关问题