Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 通过SSH转发HTTP客户端证书_Git_Ssh_Client Certificates - Fatal编程技术网

Git 通过SSH转发HTTP客户端证书

Git 通过SSH转发HTTP客户端证书,git,ssh,client-certificates,Git,Ssh,Client Certificates,我有一个git存储库,访问它的唯一方法是使用HTTP客户端证书通过HTTPS。在我的本地机器上执行git克隆,git推送等操作时,这一切都很正常 我还希望在通过SSH访问的远程机器上执行此操作,但我无法将客户端证书放在远程机器上。有没有一种方法可以像SSH代理转发一样转发HTTP客户端证书 Git要求客户端证书位于本地文件系统上,因为它无法从其他地方读取它们(除了系统凭据存储,然后仅在某些配置中的某些操作系统上读取) 如果它们在同一网络上,您可以使用类似sshfs的东西从远程计算机连接回笔记本电

我有一个git存储库,访问它的唯一方法是使用HTTP客户端证书通过HTTPS。在我的本地机器上执行
git克隆
git推送
等操作时,这一切都很正常


我还希望在通过SSH访问的远程机器上执行此操作,但我无法将客户端证书放在远程机器上。有没有一种方法可以像SSH代理转发一样转发HTTP客户端证书

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

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


除此之外,没有一种方法可以满足您的需要。

TLS客户端证书必须与相关的密钥一起保存在本地计算机上。您所要求的是针对建议的TLS客户端证书用法。您是否可以提供一个说明不建议这样做的参考?不建议的是将客户端证书的私钥放在其他人可以读取的计算机上。o正确。我明白。这就是问题的重点。如何进行转发,使我不需要将客户端证书的私钥放在远程计算机上?我可以使用ssh-A
ssh-A
使用ssh密钥来实现这一点。如何使用http客户端证书?还是不可能?