首页 > 解决方案 > 通过 SSH 转发 HTTP 客户端证书

问题描述

我有一个 git 存储库,唯一的访问方法是使用 HTTP 客户端证书通过 HTTPS。git clone执行,git push等时,这在我的本地机器上工作得很好。

我也想在通过 SSH 访问的远程计算机上执行此操作,但我无法将客户端证书放在远程计算机上。有没有办法以与 SSH 代理转发类似的方式转发 HTTP 客户端证书。

标签: gitsshclient-certificates

解决方案


Git 要求客户端证书位于本地文件系统上,因为它无法从其他地方读取它们(系统凭据存储除外,然后仅在某些配置中的某些操作系统上)。

如果它们在同一网络上,您可以使用 sshfs 之类的东西从远程计算机连接回您的笔记本电脑,并使用证书作为网络文件系统安装本地文件系统的一部分。您也可以尝试在本地机器而不是远程机器上进行克隆,然后推送到远程机器(在远程存储库上设置receive.denyCurrentBranch为之后updateInstead)。

除此之外,没有办法做你想做的事。


推荐阅读