如何告诉 Git 使用不同的 SSH 配置文件?

如何告诉 Git 使用不同的 SSH 配置文件?

当 Git 使用 SSH 时,我想为其指定很多选项。我们使用 ISPConfig,它将 Web 用户主目录的所有者设置为root,这会导致很多麻烦,包括我无法设置任何 SSH 配置。设置变量$HOME也不起作用。我必须编写git命令以使用不同的 SSH 配置文件。这怎么可能呢?

答案1

如果你可以设置环境变量,我会首先尝试类似

export GIT_SSH_COMMAND="ssh -F /path/to/config"

但是这只适用于 Git 2.3+。假设你使用的是旧版本,你需要一些更复杂的东西:

echo "ssh -F /path/to/config-file" > /some/path/git-ssh-wrapper
chmod +x /some/path/git-ssh-wrapper
export GIT_SSH="/some/path/git-ssh-wrapper"

这是因为(来自 git 手册页):

要将选项传递给您想要在 GIT_SSH 中列出的程序,您需要将程序和选项包装到 shell 脚本中,然后将 GIT_SSH 设置为引用 shell 脚本

相关内容