git 测试SSH密钥根据目录对不同的用户进行身份验证

xpszyzbs  于 2023-11-15  发布在  Git
关注(0)|答案(2)|浏览(135)

我正在尝试在Mac上设置第二个Git帐户。我已经生成并添加了新的SSH密钥到我的辅助Github帐户,并在~/.ssh/config中添加了新的主机github-personal。当我通过执行ssh -T [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)测试任何目录中的连接时,它都会使用正确的第一个帐户进行身份验证。但是,当我执行ssh -T git@github-personal时,我希望它返回我的第二个帐户的名称,但它却返回了第一个帐户。但是,我注意到,如果我在~/.ssh目录中运行相同的命令,会返回正确的帐户。
以下是我的~/.ssh/config文件的内容:

Host github.com
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_ed25519
Host github-personal
  HostName github.com
  User git
  IdentityFile ~/.ssh/personal

字符串

ckx4rj1h

ckx4rj1h1#

尝试将IdentitiesOnly yes添加到这些部分中的每一个-这指示您的SSH代理忽略它加载的任何其他身份,并尝试仅使用指定的身份。
然后,您的~/.ssh/config文件看起来像这样:

Host github.com
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_ed25519
  IdentitiesOnly yes

Host github-personal
  HostName github.com
  User git
  IdentityFile ~/.ssh/personal
  IdentitiesOnly yes

字符串

olmpazwi

olmpazwi2#

~/.ssh/config的顶部添加一行IdentitiesOnly yes。SSH的默认设置是遍历视线内的每个键,这对我来说就像是在20世纪90年代较小的互联网世界中做出的“现在改变太晚了”的选择之一。

相关问题