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

3

今天我开始了一份新工作,他们使用的是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,但是出现了“无法从仓库读取”的错误。

在这之前,我需要编辑掉我的普通id_rsa,才能使它正常工作,所以现在看起来像这样:

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

我做错了什么?

1个回答

3

使用最初的配置文件(其中包含Host workHost *),可以执行以下操作:

ssh -Tv work

您将看到实际使用的密钥。如果是 id_rsa,这意味着在 Host work 中指定的内容会被 Host * 覆盖。
如果您想要使用您的个人密钥来进行所有操作,除了工作之外,您需要使用一个模式
Host * !work
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接