为什么在 catch-all 之前不使用特定主机的 SSH 密钥?

为什么在 catch-all 之前不使用特定主机的 SSH 密钥?

我正在尝试使用特定的 SSH 密钥连接到 Github(在 Mac 上)。当我的 .ssh/config 文件如下所示时:

Host github.priv.com
  HostName github.com
  UseKeyChain yes
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_gh_priv

Host *
  UseKeyChain yes
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_rsa

id_rsa当我运行时它会使用,但是当我使用特定主机时:ssh -T [email protected]

Host github.priv.com
  HostName github.com
  UseKeyChain yes
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_gh_priv

Host github.com
  UseKeyChain yes
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_rsa

id_gh_priv我跑步时它用。ssh -T [email protected]

我遗漏了什么?我以为它应该使用第一个匹配的配置。

笔记:两个钥匙都在 OSX 钥匙串中。

相关内容