在单个主机上使用多个密钥时 SSH 使用错误的密钥
Posted
技术标签:
【中文标题】在单个主机上使用多个密钥时 SSH 使用错误的密钥【英文标题】:SSH uses wrong key when using multiple keys on a single host 【发布时间】:2020-04-10 06:55:24 【问题描述】:我目前正在尝试为单个主机创建多个密钥,但我遇到了一个奇怪的问题,即我决定使用的第一个 SSH 密钥成为我可以使用的唯一 SSH 密钥。然后我必须重新启动我的笔记本电脑才能更改 SSH 密钥。
我正在使用带有 Mojave v10.14.6 的 Macbook Pro
我的 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
由于这些key恰好是用于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
条目中。确保在您需要的所有 地方执行此操作。见***.com/q/36363325/1256452
@phd 我没有。我已经尝试为这两个 ssh 规则添加它,并且我使用不同帐户登录的能力没有改变。
@torek 圣洁的 moly 成功了!非常感谢!
【参考方案1】:
@Torek 指出我在 SSH 规则中缺少 IdentitiesOnly yes
作为一行。感谢您的帮助!
【讨论】:
以上是关于在单个主机上使用多个密钥时 SSH 使用错误的密钥的主要内容,如果未能解决你的问题,请参考以下文章