使用不受信任的计算机

时间:2017-03-16 10:54:34

标签: git authentication ssh trust

我目前正在处理来自不受信任的计算机的项目,我想使用ssh身份验证从此(不受信任的)计算机提取/提交更改。我可以访问我的私人(可信)计算机。以下是我的设置摘要:

  • 仅使用ssh访问的Git服务器(不允许https身份验证)
  • 使用ssh
  • 访问到git服务器的受信任计算机
  • 不受信任的计算机无法访问到git服务器但访问我信任的计算机

在这种情况下你会做什么? (我无法将文件从不受信任的计算机复制到受信任的计算机。我希望此项目的文件保留在不受信任的计算机上,但如果我实际上不存储它们,我可以将它们发送到受信任的计算机)。他们的主要想法是,我不希望其他人使用不受信任的计算机访问我在git服务器上的其他项目。

1 个答案:

答案 0 :(得分:1)

您可能会尝试使用受信任的计算机作为SSH jump host

引用this manual

  

SSH隧道访问内部计算机的替代方法   通过网关使用跳转主机。

     

想法是使用ProxyCommand自动执行ssh命令   在远程主机上跳转到下一个主机并转发所有流量。

这应该要求在SSH客户端周围编写一个包装器脚本并设置GIT_SSH env。变量指向它 - 看 "环境变量" git help git中的部分:

  

GIT_SSHGIT_SSH_COMMAND

     

如果设置了这些环境变量中的任何一个,那么git fetch和git push   将在需要时使用指定的命令而不是ssh   连接到远程系统。该命令将给出两个   或四个参数:来自username@host(或只是host)   要在该远程系统上执行的URL和shell命令,   可选地前面有-p(字面意思)和端口   从URL指定除默认SSH端口以外的其他内容。

     

$GIT_SSH_COMMAND优先于$GIT_SSH,   并由shell解释,允许额外的   要包括的论点。另一方面,$GIT_SSH必须是   只是程序的路径(可以是包装器shell)   脚本,如果需要其他参数)。

     

通常,您可以更轻松地配置任何所需的选项   个人.ssh/config文件。请查阅您的ssh文档   进一步的细节。

(我相信SSH_COMMAND是最近Git的补充。)