哪种 SSH 设置优先于 Git?

哪种 SSH 设置优先于 Git?

由于我与一些同事共享Alma Linux服务器上的登录信息,我试图更好地理解不同设置的优先级。我们主要使用服务器来运行耗时的Python脚本、数值方法和AI东西。我们通过 SSH 从本地 Windows 计算机登录。我们通过自托管的 Gitlab 服务器提取脚本git,或通过scp.

我们每个人都有他/她的 SSH 密钥对,位于~/.ssh. (这与以下情况相同人有多种的SSH 密钥对。)现在,有多种方法可以通过 SSH 指定git用于pull/ 的密钥push。我可以指定它

  • ~/.ssh/config作为IdentityFile ~/.ssh/id_rsa
  • 全局.gitconfig通孔git config --global core.sshCommand "ssh -v -i ~/.ssh/id_rsa"
  • 每个存储库在本地.gitconfig通过git config core.sshCommand "ssh -v -i ~/.ssh/id_rsa"

当我使用一键 SSH 配置方法(例如~/.ssh/id_ed25519)并将本地设置.gitconfig为 时~/.ssh/id_rsagit push仍然会使用前者而不是后者。这表明 SSH 配置设置以某种方式覆盖了 local .gitconfig,这不应该是我发现的情况。但是,当我注释掉 中的该行时~/.ssh/config,它会按预期工作。

所以我的问题是:有人可以解释一下顺序吗git所以我的问题是:有人可以解释一下通过 SSH 读取设置的吗?另外,如果我改变这个会发生什么通过环境变量, 例如GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa' git pull?这会覆盖特定主机的~/.ssh/config/吗?.gitconfig

相关内容