在单个主机上使用多个密钥时,SSH使用错误的密钥

时间:2019-12-17 18:09:23

标签: git macos ssh ssh-keys

我目前正在尝试为单个主机创建多个密钥,但是我遇到了一个奇怪的问题,我决定使用的第一个SSH密钥成为我可以使用的唯一SSH密钥。然后,我只需要重新启动笔记本电脑即可更改SSH密钥。

我正在将Macbook Pro与Mojave v10.14.6配合使用

我的SSH配置看起来像这样-

Host github.com-personal
  Hostname github.com
  UseKeychain yes
  AddKeysToAgent yes
  User git
  IdentityFile ~/.ssh/personal
Host github.com-work
  Hostname github.com
  UseKeychain yes
  AddKeysToAgent yes
  User git
  IdentityFile ~/.ssh/work

由于这些键碰巧用于github,因此我使用以下命令进行测试。

ssh -T github.com-work

ssh -T github.com-personal

问题是,如果我先运行work命令,则响应为-

Hi <<work account>>! You've successfully authenticated, but GitHub does not provide shell access.

在那之后,如果我运行以上任一命令,则输出是相同的。

如果我先运行personal命令,那么输出将引用我的 personal 帐户,直到重新启动计算机。

有人知道这是怎么回事吗?

1 个答案:

答案 0 :(得分:0)

@Torek指出我在SSH规则中缺少一行IdentitiesOnly yes。感谢您的帮助!