当 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 脚本