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

5

我目前正试图为单个主机创建多个密钥,但遇到了一个奇怪的问题:我决定使用的第一个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命令,那么输出将提到我的个人账户,直到我重新启动计算机。

有人知道这里发生了什么吗?


这不是Git的错。 :-) 尝试将“IdentitiesOnly”添加到您的“.ssh/config”条目中。确保您在需要的所有位置都这样做。请参见https://dev59.com/eVoV5IYBdhLWcg3wXNo9 - torek
@phd 我没有。我尝试为ssh规则添加了这个,但是我的能力并没有改变,我仍然无法使用不同的帐户登录。 - Colin
@torek 天哪,那个起作用了!非常感谢你! - Colin
1个回答

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

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